在生成器表达式中使用cmake选项

时间:2017-10-17 15:10:40

标签: cmake

我想在生成器表达式中使用cmake选项 为了打开某个编译标志。从documentation我不清楚如何实现这一点。

我想写点像

option(MYOPTION " ... " OFF)
...
add_compile_options($<$<MYOPTION>:-lblas>)

哪个不起作用。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:3)

您的示例并未真正为此指定用例,我认为还有其他方法可以实现(以及-lblas是链接器标志而不是编译选项。)关闭您提供的信息看起来像您可能想要的:

option(MYOPTION "My Option" OFF)
...
add_compile_options($<BOOL:${MYOPTION}>:-lblas>)
#(or maybe you want?)
target_compile_definitions(YOUR_TARGET PRIVATE $<BOOL:${MYOPTION}>:-lblas>)

$<BOOL:...>需要一个变量来帮助评估(MYOPTION满足哪些。您可以使用文档中列出的其他逻辑表达式。