CMake:具有不同构建类型的不同操作

时间:2014-06-27 09:36:54

标签: cmake

我想在调试模式(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)

如果我用

打电话给cmake
cmake /path/to/CMakefile.txt/ -DCMAKE_BUILD_TYPE=Debug

我看到第一条消息(因此识别出Linux编译器)但我看不到第二条消息。

如何检查CMAKE_BUILD_TYPE是否设置为Debug或Release?

0 个答案:

没有答案