将编译器选项设置为默认值在CMake中

时间:2015-10-05 09:52:25

标签: cmake visual-c++-2008

如何在我的CMake文件中将“基本运行时检查”设置为“默认”?

使用CMake中的以下行,我可以在Release模式下将其设置为RTC,但我真正需要的是将其设置为Default。

set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /RTCs")

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。

使用宏删除当前编译器选项。

macro(RemoveDebugCXXFlag flag)
    string(REPLACE "${flag}" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
endmacro()

macro(RemoveReleaseCXXFlag flag)
    string(REPLACE "${flag}" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
endmacro()

message(${CMAKE_CXX_FLAGS_DEBUG}) # Print Debug Flags Before Change
RemoveDebugCXXFlag("/RTC1")

message(${CMAKE_CXX_FLAGS_DEBUG}) # Print Debug Flags After Change

message(${CMAKE_CXX_FLAGS_RELEASE}) # Print Release Flags Before Change
RemoveReleaseCXXFlag("/RTC1")
message(${CMAKE_CXX_FLAGS_RELEASE}) # Print Release Flags After Change

最好的问候