【问题标题】:How to set property depending on build-type with cmake's command line?如何使用 cmake 的命令行根据构建类型设置属性?
【发布时间】:2017-04-21 04:14:38
【问题描述】:

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

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

【问题讨论】:

  • 对我来说,听起来您应该为所有支持的编译器添加toolchainshere 讨论的可能性都可以从命令行触发。

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


【解决方案1】:

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

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

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

参考文献

【讨论】:

  • 我相信引号内的“-D”后面需要有一个空格:cmake -DCMAKE_CXX_FLAGS_DEBUG_INIT:STRING="-D DEBUG_ATTRIBUTE=SomeValue" ...
猜你喜欢
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多