如何使用cmake的命令行根据构建类型设置属性?

时间:2016-12-06 13:41:43

标签: c++ visual-studio visual-studio-2010 cmake

我的基于cmake的遗留C ++代码库包含一些特定的预处理器调试宏 - 让他的名字为DEBUG_ATTRIBUTE - 负责某些类型的调试输出。尽管他的名字,不应该为标准调试版本打开宏。出于某种原因,还必须让所有CMakeLists.txt等等。

根据构建类型“Debug”(cmake创建Visual Studio 2010解决方案),从cmake的命令行设置define的最佳方法是什么?我可以使用生成器表达式(我怀疑,由于它们的定义特征,它们不起作用)?

1 个答案:

答案 0 :(得分:0)

除了通过编写另一个脚本文件并通过类似CMAKE_TOOLCHAIN_FILE之类的方式注入此内容之外,还有一个解决方案。 或CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE

我已经使用CMake的Visual Studio 2015生成器测试了以下内容:

cmake -DCMAKE_CXX_FLAGS_DEBUG_INIT:STRING="-DDEBUG_ATTRIBUTE=SomeValue" ..

<强>参考