假设我在CMake中设置以下变量:
set(foo TRUE)
现在,我想用相反的布尔值来定义一个名为bar
的变量(换句话说,在这个上下文中,我希望bar
是FALSE
,或者等同于false
或0
)。其中一种完成方法是:
if(foo)
set(bar FALSE)
else()
set(bar TRUE)
endif()
然而,这有点啰嗦。我该如何用更少的行实现相同的功能?
注释
我尝试使用生成器表达式,但它们似乎在set
命令中不起作用:
set(bar $<NOT:${foo}>)
甚至或者更多
set(bar $<NOT:foo>)
无法产生所期望的结果。