如何在单个文件的cmakelists.txt中设置编译器标志以进行调试或发布?

时间:2018-12-07 08:37:05

标签: cmake

我在How to change a compiler flag for just one executable in CMake?中找到了根据Andre的评论进行配置的方法。

例如,我为bubble.c添加一个标志:

set_source_files_properties( ${ProjDirPath}/../bubble.c PROPERTIES COMPILE_FLAGS "-O2")

它有效。但是我不能指定调试或释放标志。 剂量有人知道如何配置吗?谢谢!

2 个答案:

答案 0 :(得分:0)

IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
set_source_files_properties( ${ProjDirPath}/../bubble.c PROPERTIES COMPILE_FLAGS "-O2")
ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)

答案 1 :(得分:0)

使用如下特殊语法:

set_source_files_properties(myfile.cpp PROPERTIES 
    COMPILE_FLAGS $<$<CONFIG:RelDebug>:/O2>
    SKIP_PRECOMPILE_HEADERS $<$<CONFIG:RelDebug>:ON>
)

仅将特定的编译选项设置为特定的配置(在本例中为RelDebug)。