Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

CMake

hui__helena
Beginner
2,017 Views
Dear Intel Community Experts,
 
     When I was installing OpenVINO, the installer prompted that CMake is not detected, but I noticed that other projects like Anaconda, OpenCV etc. have CMake files. Does it mean that the GUI version of CMake was actually installed when the Windows operating system was installed? 
 
     What are the differences among CMake, cmake-gui, MSVC & ccmake? Is cmake-gui for the Windows version of general CMake, and ccmake for the Unix operating system? Could we combine these tools as one in the Cloud?
 
     Other projects produced CMake files, but OpenVINO cannot detect CMake, might it be caused by the configuration is set to non-CMake project, but add_stepTargets - build method is used for separate steps for installation, convenient for big projects or a platform, and for automating the step, the status of the directory property "EP_STEP_TARGETS was set to "on"?
 
 
Sincerely,
 Helena
0 Kudos
12 Replies
Iffa_Intel
Moderator
1,964 Views

Greetings,


If you had a chance to go through the Openvino official tutorial, you will notice there is specific requirement to download CMake 2.8.12 or higher 64-bit

Here it is: https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_windows.html


Generally, CMake is a cross-platform free and open-source software tool for managing the build process of software using a compiler-independent method. It supports directory hierarchies and applications that depend on multiple libraries. Or in short, it's a compiler/builder.


CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.


Cross platform means it is compatible with Windows/Unix (multiple OS platform)


Openvino by default should be able to detect CMake if you had installed the correct version that is required, which you can refer to the tutorial I had attached. Also ensure that you only have 1 version of cmake in your environment. If you have more than 1, please help to uninstall the others.


Sincerely,

Iffa



0 Kudos
hui__helena
Beginner
1,948 Views

Hi Iffa, 

    Nice to contact with you again. Are you in the Middleware Group, in Malaysia?

    

    When I was installing Anaconda, OpenCV etc.  CMake files was produced automatically, but OpenVINO cannot detect CMake, so I thought might it be caused by the configuration is set to non-CMake project, but add_stepTargets - build method is used for separate steps for installation, convenient for big projects or a platform, and for automating the step, the status of the directory property "EP_STEP_TARGETS was set to "on"?
 
     What are the differences among CMake, cmake-gui, MSVC & ccmake? 
 
Thank you very much,
          Helena
0 Kudos
Iffa_Intel
Moderator
1,941 Views

Hi Helena,


CMake is a builder/compiler as I mentioned previously and the cmake-gui is the graphical version of CMake. Cmake usually do the necessary processes through terminal/cmd but the CMake gui make processes especially installation user friendly as they can see graphics and make choices instead of inserting commands.


The MSVC is an IDE. It is a tool for writing and debugging C, C++, and C# code, most notably code written for Microsoft Windows, the .NET Framework or DirectX.


If you are planning to do compilation of codes using MSVC you need to ensure to use Microsoft Visual Studio* with C++ 2019 or 2017 with MSBuild and you are required to install CMake 3.14. These version are compatible with Openvino which also stated here: https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_windows.html


The ccmake is the GUI for manipulating files generated by / used by the cmake system. It's a curses (terminal handling library) interface to CMake.



Sincerely,

Iffa


0 Kudos
hui__helena
Beginner
1,934 Views

Hi Iffa,

  Thank you very much for your information.

   Which is better, to directly use CMake, or to use Microsoft Visual Studio CMake 3.14 through Intel System Studio? What are the advantages and disadvantages?

   When do we use CMake, cmake-gui, ccmake respectively? Is there a way that we can use them together?

 

Sincerely,

 Helena

0 Kudos
Iffa_Intel
Moderator
1,928 Views

If you ask my preference, I prefer CMake since i felt it is lighter in size. This compiler is important but it runs in the background, so you didn't need anything fancy, install, got everything right, start development right away. Plus, I prefer to use terminal/cmd instead of heavy IDE with multiple packages. I even edited my code with Notepad++ only (everything to minimize storage usage). The cons is, you really need to know exactly what you are doing, where you link certain file path and etc.


However, all of this depends on your goals or what you are trying to achieve and whether you really need the packages that came with Microsoft Visual Studio CMake 3.14 through Intel System Studio. If you are going to utilize it and storage is not you concern then just go for it. It's bit heavy but the IDE would manage a lot of things for you.


ccmake executable is already in the same package of CMake. If you have correctly installed CMake you should automatically have it too. (in short ccmake is the GUI for manipulating files generated by / used by the cmake system)

https://cmake.org/cmake/help/latest/manual/ccmake.1.html


CMake and CMake-gui is the same thing as I explain in my previous answer. GUI means Graphical User Interface which a graphic that pops up when you run the executable.


From my experience, I installed CMake instead CMake-gui because of the reason I had mentioned above & I had been doing a lot of implementation ever since with no problem.


Sincerely,

Iffa


0 Kudos
hui__helena
Beginner
1,925 Views

Hi Iffa,

  Do you use Linux operating system?

0 Kudos
Iffa_Intel
Moderator
1,915 Views

I use Linux(Ubuntu, Kali Linux, Raspbian, etc) , Windows.



Sincerely,

Iffa


0 Kudos
hui__helena
Beginner
1,908 Views

I mean you installed CMake in Linux operating system, not in Windows operating system, or you installed it in both of the operating systems?

0 Kudos
hui__helena
Beginner
1,896 Views

Hi Iffa,

   You said, ccmake executable is already in the same package of CMake. If you have correctly installed CMake you should automatically have it too. (in short ccmake is the GUI for manipulating files generated by / used by the cmake system), so I want to verify whether you installed CMake in Linux operating system, not in Windows operating system.

Sincerely,

 Helena

0 Kudos
Iffa_Intel
Moderator
1,880 Views

Yes, as I mentioned, I've been using them on UNIX/LINUX and windows.

Same concept applied to both.

Just make sure you choose the correct package according to your OS.


No need to pay too much attention on these. start downloading it and try to do some development, then only you will know what's right and wrong.


Sincerely,

Iffa


0 Kudos
hui__helena
Beginner
1,872 Views

      Yes, only in Linux; or, no, both in Linux and Windows? I am a little bit confused. No problem, I will install it, and thank you for doing warm-up exercises with me.

 

Sincerely,

 Helena

0 Kudos
Iffa_Intel
Moderator
1,827 Views

Any of the OS should work just fine.


Intel will no longer monitor this thread since this issue has been resolved. If you need any additional information from Intel, please submit a new question. 


Sincerely,

Iffa


0 Kudos
Reply