问题

在GCC编译的项目中,

  • 如何为每个目标类型(调试/发布)运行CMake?
  • 如何使用CMake指定调试并发布C/C标志?
  • 如何表示主要可执行文件将使用g++和一个嵌套库与gcc编译?

  最佳答案

使用CMake,通常建议做一个“离开源”构建.在项目的根目录中创建CMakeLists.txt.然后从项目的根目录:

 mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
 

对于Debug(再次从项目的根):

 mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
 

Release / Debug将为编译器添加适当的标志.还有RelWithDebInfoMinSizeRel构建配置.


您可以通过指定 工具链文件 修改/添加标志,您可以添加 CMAKE_C_FLAGS_DEBUGCMAKE_C_FLAGS_RELEASE 变量,例如:

 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall")
 

详情请参阅 CMAKE_BUILD_TYPE


至于您的第三个问题,我不确定您正在问什么. CMake应该自动检测并使用适合您不同源文件的编译器.

  相同标签的其他问题

c++cgcccmake