如何仅在CMake的一种模式下才有变量
问题描述:
我想在我的项目中创建一个新模式(调试,发布和新的模式)。之后,我将需要一个只用于新模式的变量,因此我可以为所有人创建一个变量,并为调试/发布(即0)和新的(1)设置不同的值。如何仅在CMake的一种模式下才有变量
我该如何解决这个问题?
我有什么:所有的
set (CMAKE_CONFIGURATION_TYPES "Release;Debug;NewConfig" CACHE STRING "Configurations" FORCE)
SET (VARIABLEX 1)
if (VARIABLEX)
add_definitions (-DVARIABLEX)
endif (VARIABLEX)
答
首先,增加新的配置类型还没有很好地CMake的支持。
尽管CMake常见问题,看起来像这个功能请求还是有点未实现。甚至有一个悬而未决的问题吧:
这个bug在CMake的bug跟踪系统的东西都更新通知监视器。
然而,鉴于你想有不同的配置不同的定义,你应该可以看到CMake的目标属性COMPILE_DEFINITIONS和COMPILE_DEFINITIONS_DEBUG(例如)的帮助: