如何使用预定设置运行CMake



在Visual Studio中,使用CMake的项目将有一个CMakeSettings.json文件,该文件指定要使用的命令行参数。在Visual Studio以外的IDE中,如何控制CMake使用哪些参数运行?

假设CMake是从项目根运行的,我希望CMake初始化像这样运行:
CMake-B build-DCMAKE_BILD_TYPE=Debug

我希望CMake构建像这样运行:
CMake--build-build

我的项目结构如下:

project/  
|- bin/  
|   |- program (executable)  
|- build/  
|   |- ... CMake files ...  
|- src/  
|   |- program.c  
|   |- CMakeLists.txt  
|- CMakeLists.txt 

项目/CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)  
project(Project VERSION 1.0)  
file(MAKE_DIRECTORY bin)  
add_subdirectory(src)

project/src/CMakeLists.txt:

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构建和运行,只需最少的设置。

在Visual Studio以外的IDE中,如何控制CMake使用哪些参数运行?

取决于您使用的IDE。没有标准的方法。通常,有一个设置表格。

一个好的解决方案是记录应该使用的命令行命令。理想情况下,这些命令应该尽可能传统,比如你在问题中引用的命令,这样任何已经可以使用CMake的人都可以在没有IDE帮助的情况下编译程序,甚至不用阅读文档。

您可以编写一个简单的POSIXshell脚本来运行这些命令,这很方便,可以作为文档使用(只要您在自述文件中描述其用途(。

最新更新