我想在调试模式(GCC / Linux)中编译时添加一些特定的标志。当我调用cmake时,我想打印所有这些标志。如果我在发布模式下编译,我不设置这些,所以我不想打印标志。
基本上我只想在构建调试模式时打印消息。
在我的CMakefile.txt中,我有以下代码:
# Setting compiler
if (CMAKE_COMPILER_IS_GNUCXX)
set (USER_DEBUG_FLAGS "-W -Wall -Wextra -Winit-self -Werror")
message(STATUS "Setting extra flags for Linux compiler")
if (CMAKE_BUILD_TYPE MATCHES Debug)
list(APPEND CMAKE_CXX_FLAGS_DEBUG ${USER_DEBUG_FLAGS})
message(STATUS "Debug compiler flags: ${CMAKE_CXX_FLAGS_DEBUG")
endif(CMAKE_BUILD_TYPE MATCHES Debug)
endif(CMAKE_COMPILER_IS_GNUCXX)
如果我用
打电话给cmakecmake /path/to/CMakefile.txt/ -DCMAKE_BUILD_TYPE=Debug
我看到第一条消息(因此识别出Linux编译器)但我看不到第二条消息。
如何检查CMAKE_BUILD_TYPE
是否设置为Debug或Release?