具有多个项目的一个构建的Cmake调试标志条件

时间:2018-12-10 02:53:51

标签: c cmake

在使用调试标志编译项目时需要帮助。

我已经在构建文件夹中使用-DCMAKE_BUILD_TYPE=Debug ..进行了编译。

我能够在编译后运行二进制文件。但是,调试标志未打开。我有点卡在这一点上。有没有一个善良的灵魂愿意为此提供意见或指导?

我的构建树是这样的:

project
|------ CMakeLists.txt (The main Cmake)
|------ ProjectA
|          |----- src
                   |.c files
|          |----- include
                   |.h files
|          |----- CMakeList.txt
|------ ProjectB
|          |----- src
                   |.c files
|          |----- include
                   |.h files
|          |----- CMakeList.txt
| 
|------ build
|         |-----  ...
|------ bin
|        |---- executables

我已经在项目A和B中设置了我的cmake标志:

#cmake output directory
...
#compiler
...
set(CMAKE_C_FLAGS "... -DDEBUG ...")
#Linking
...
#add executables
...

我的顶级CMakeLists.text是这样的:

project(..)
...

add_subdirectory(ProjectA)
add_subdirectory(ProjectB)

1 个答案:

答案 0 :(得分:1)

在主CMakeLists.txt中,添加以下行

## Configure debug flag to enable debug log

set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall")

生成Makefile:

cmake ..... -DCMAKE_ARCH="x86_64" -DCMAKE_BUILD_TYPE=Debug