如何在CMake CONFIG生成表达式中指定多个配置?

3
根据文档$<CONFIG:cfgs>生成表达式的计算结果为1,如果当前配置是cfgs列表中的一个条目,则为1,否则为0。但我怎样才能将多个配置添加到cfgs列表中呢?
以下代码片段会生成错误($<CONFIG>表达式需要一个或零个参数。
$<CONFIG:Debug,RelWithDebInfo>

我尝试了其他分隔符,但没有任何成功。我错过了什么还是文档有错误吗?

我知道我可以做类似下面的事情,但如果我能将表达式简化为上述内容,那么阅读起来会更容易。

$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>

感谢您提前的支持。

以下 $<CONFIG:Debug,RelWithDebInfo>cmake 3.19.4 版本中适用于我。 - KamilCuk
等等,你能试试 TARGET_LINK_OPTIONS(${PROJECT_NAME} PUBLIC <$<CONFIG:Debug,RelWithDebInfo>:/DEBUG>) 吗?这个对我来说产生了错误,而上面提到的版本是可以工作的。 - Carsten
1
CMake 3.19引入了在生成表达式中处理多个配置的功能。在您的情况下,cmake --version输出什么? - vre
@vre 谢谢,这很有道理! ‍♂️ 它输出3.18.4,因为这似乎是最新的Visual Studio版本所附带的。如果您愿意,将其发布为答案,我会接受它。 - Carsten
1个回答

4

$<CONFIG:cfg> 生成表达式中处理多个配置是最近才在 CMake 3.19 中引入的。版本更新前只接受单个配置参数作为生成表达式的输入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接