【问题标题】:How to do conditional variable assignment with cmake?如何用cmake进行条件变量赋值?
【发布时间】:2018-07-13 08:11:13
【问题描述】:

如果我不提供标志 -DVAR=VAL,我想为变量 VAR 提供默认值 DEF。你有什么想法吗?

谢谢。

【问题讨论】:

  • if(not VAR) set(VAR "DEF") endif() ?

标签: cmake


【解决方案1】:

以下似乎有效。感谢 Kamil Cuk,它让我找到了一个解决方案。

if(not defined VAR)
                set(VAR VAL)
 endif()

【讨论】:

    【解决方案2】:

    你可以使用set(... CACHE ...) command:

    set(VAR "DEF" CACHE STRING "My VAR for doing xyz")
    

    如果变量已在缓存中设置 - 例如通过命令行开关-D - 它没有被覆盖。用户可以使用 进行更改。

    或者,如果您有布尔值,请使用 option() definitions command

    参考文献

    【讨论】:

      猜你喜欢
      • 2020-02-16
      • 1970-01-01
      • 2015-01-26
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 2019-12-19
      • 1970-01-01
      相关资源
      最近更新 更多