cmake 生成器表达式取决于链接目标

时间:2021-02-15 10:05:21

标签: cmake

TL;博士: 是否可以根据链接目标的库来评估 cmake 生成器表达式?

背景: 我有一个生成静态 (foo-static) 和共享 (foo-shared) cmake 目标的库。 现在我想创建一个 cmake 目标 foo 来检测链接目标是否为静态/共享并自动选择 foo-static/foo-shared

我对 cmake 生成器表达式只知道一点点,并得到了印象,它们只适用于当前目标/构建树的属性。 我的理解是否正确,或者有什么方法可以实现这样的目标? 没关系,如果设置这个的cmake代码看起来很丑,但用法应该尽可能简单。

add_library(bar-static STATIC)
target_link_libraries(bar-static foo) #automagically links foo-static
add_library(bar-shared SHARED)
target_link_libraries(bar-shared foo) #automagically links foo-shared

提前感谢您的任何澄清/提示。

0 个答案:

没有答案