【发布时间】:2015-07-25 05:14:02
【问题描述】:
我正在尝试将几个静态库与 CMake 结合起来,我发现一个 answer 建议执行以下操作:
SET_TARGET_PROPERTIES(merged PROPERTIES STATIC_LIBRARY_FLAGS "full\path\to\lib1.lib full\path\to\lib2.lib")
我想要组合的库是其他目标的输出,当我想要引用目标的输出时,我通常使用生成器表达式,例如 $
这不起作用:
set_target_properties(merged PROPERTIES STATIC_LIBRARY_FLAGS $<TARGET_FILE:MyLib>)
我想我的意思是将属性设置为库的路径:
set_target_properties(merged PROPERTIES STATIC_LIBRARY_FLAGS ${CURRENT_BIN_DIR}/MyLib.lib})
手动生成这条路径可能很乏味(我有很多目标),我想知道给定目标是否有更好的方法来自动获取这条路径。
例如(我在这里编写语法):
set_target_properties(merged PROPERTIES STATIC_LIBRARY_FLAGS EXPAND_PATH($<TARGET_FILE:MyLib>))
【问题讨论】: