C++ 如何使用预定设置运行CMake?
在Visual Studio中,使用CMake的项目将有一个CMakeSettings.json文件,该文件指定要使用的命令行参数。在VisualStudio以外的IDE中,如何控制运行CMake的参数 假设CMake从项目根运行,我希望CMake初始化如下运行:C++ 如何使用预定设置运行CMake?,c++,c,cmake,C++,C,Cmake,在Visual Studio中,使用CMake的项目将有一个CMakeSettings.json文件,该文件指定要使用的命令行参数。在VisualStudio以外的IDE中,如何控制运行CMake的参数 假设CMake从项目根运行,我希望CMake初始化如下运行: cmake-B build-DCMAKE\u build\u TYPE=Debug 我想让CMake大楼像这样运行: cmake——构建 我的项目结构如下所示: project/ |- bin/ | |- program
cmake-B build-DCMAKE\u build\u TYPE=Debug 我想让CMake大楼像这样运行:
cmake——构建 我的项目结构如下所示:
project/
|- bin/
| |- program (executable)
|- build/
| |- ... CMake files ...
|- src/
| |- program.c
| |- CMakeLists.txt
|- CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(Project VERSION 1.0)
file(MAKE_DIRECTORY bin)
add_subdirectory(src)
set(TARGET_NAME program)
file(GLOB_RECURSE FILES *.c)
add_executable(${TARGET_NAME} ${FILES})
file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
${PROJECT_SOURCE_DIR}/bin/${TARGET_NAME})
project/CMakeLists.txt:
project/
|- bin/
| |- program (executable)
|- build/
| |- ... CMake files ...
|- src/
| |- program.c
| |- CMakeLists.txt
|- CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(Project VERSION 1.0)
file(MAKE_DIRECTORY bin)
add_subdirectory(src)
set(TARGET_NAME program)
file(GLOB_RECURSE FILES *.c)
add_executable(${TARGET_NAME} ${FILES})
file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
${PROJECT_SOURCE_DIR}/bin/${TARGET_NAME})
project/src/CMakeLists.txt:
project/
|- bin/
| |- program (executable)
|- build/
| |- ... CMake files ...
|- src/
| |- program.c
| |- CMakeLists.txt
|- CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(Project VERSION 1.0)
file(MAKE_DIRECTORY bin)
add_subdirectory(src)
set(TARGET_NAME program)
file(GLOB_RECURSE FILES *.c)
add_executable(${TARGET_NAME} ${FILES})
file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/bin/${TARGET_NAME})
set_target_properties(${TARGET_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
${PROJECT_SOURCE_DIR}/bin/${TARGET_NAME})
我知道开发人员可能希望使用不同于VisualStudio的IDE。使用命令行脚本来正确运行CMake命令是个好主意吗?我的目标是让开发人员下载我的项目,并用他们的IDE以最少的设置构建和运行它
在VisualStudio以外的IDE中,如何控制运行CMake的参数
取决于您使用的IDE。没有标准的方法。通常,有一个设置表单
一个好的解决方案是记录应该使用的命令行命令。理想情况下,这些命令应该尽可能常规,比如你在问题中引用的那些命令,这样任何已经可以使用CMake的人都可以在没有IDE帮助的情况下编译程序,甚至不用阅读文档
您可以编写一个简单的POSIX shell脚本来运行这些命令,这很方便,可以作为文档使用(只要您在自述文件中描述它的用途)。作为Visual Studio用户,我不想只构建调试。我通常构建调试和发布,有时使用CMake生成的项目重新发布调试信息。@drescherjm是的,这只是一个例子。理想情况下,我希望能够使用调试和发布以及x64和x86架构构建。不过,这可能超出了我在生成的项目文件之间的通用范围。