cmake and visual studio

后端 未结 3 1117
闹比i
闹比i 2021-02-03 11:07

gcc 4.4.2 / Visual Studio C++ 2008

I have been using cmake on linux, without any problems.

Now I have ported by application to run on windows.

I generate

相关标签:
3条回答
  • 2021-02-03 11:39

    CMake generates "real" .vcproj files, so Visual Studio will build your project like any normal Visual Studio project. There are no makefiles involved.

    0 讨论(0)
  • 2021-02-03 11:53

    From CMake website:

    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.

    The key is, it generates native makefiles and workspaces from the compiler independent configuration files (CMakeLists.txt files).

    So the first step with CMake is to generate the native build files from the CMakeLists.txt, which isMakefiles on Linux and Visual Studio projects/solution on Windows. Then you compile/link as though the native build files were created from scratch.

    When you edit a CMakeLists.txt, it means that the change has to be propagated to the native build scheme. This is done by explicitly running the CMake generator again or implicitly by the ZERO_CHECK project in the Visual Studio Solution.

    CMake and Visual Studio has a simple example mapping CMake commands (which exist in CMakeLists.txt) to Visual Studio projects.

    0 讨论(0)
  • 2021-02-03 11:54

    Cmake generates a Visual Studio Solution and Project file.

    The solution contains at least three projects:

    • ALL_BUILD
    • YourProject
    • ZERO_CHECK

    The solution is set up so that when you build your project (by build solution, or build project) "YourProject" will be built and then ZERO_CHECK will be built, causing cmake to run and check if anything has changed. If anything has changed, the solution and project file will be regenerated and Visual Studio will ask if you would like to reload.

    The compilation of your program is done by Visual Studio, as it would if you set it up manually, but Visual Studio will run cmake, and thus check if anything has changed, and the project files should be regenerated.

    0 讨论(0)
提交回复
热议问题