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
提前感谢您的任何澄清/提示。