我正在创建一个导入的目标,希望公开两个接口包含目录:
list(APPEND LIB_INCLUDE_DIRS "dir1")
list(APPEND LIB_INCLUDE_DIRS "dir2")
add_library(lib SHARED IMPORTED GLOBAL)
set_target_properties(
lib
PROPERTIES
IMPORTED_LOCATION "something"
INTERFACE_INCLUDE_DIRECTORIES ${LIB_INCLUDE_DIRS}
)
不幸的是,有一个错误:使用错误的参数数调用set_target_properties。
如果我尝试只设置第一个目录,它就可以了。有没有办法设置两者?或者INTERFACE_INCLUDE_DIRECTORIES的复数形式是否具有讽刺意味?
答案 0 :(得分:5)
只需将目录列表放在引号
中set_target_properties(
lib
PROPERTIES
IMPORTED_LOCATION "something"
INTERFACE_INCLUDE_DIRECTORIES "${LIB_INCLUDE_DIRS}"
)
否则列表会再次扩展为参数。
<强>参考强>