我想在生成器表达式中使用 cmake 选项来打开某个编译标志。从文档中我不清楚如何实现这一点。
我想写一些类似的东西
option(MYOPTION " ... " OFF)
...
add_compile_options($<$<MYOPTION>:-lblas>)
Run Code Online (Sandbox Code Playgroud)
这不起作用。
有没有办法实现这一目标?
Cin*_*its 10
您的示例并没有真正为此指定用例,我认为还有其他方法可以解决它(以及作为-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>)
Run Code Online (Sandbox Code Playgroud)
$<$<BOOL:...>:...>需要一个变量来帮助评估(它MYOPTION满足。文档中列出了其他逻辑表达式,您可以使用。