【问题标题】:cmake many INTERFACE_INCLUDE_DIRECTORIEScmake 许多 INTERFACE_INCLUDE_DIRECTORIES
【发布时间】:2017-02-28 13:06:05
【问题描述】:

我正在创建一个导入的目标,它希望公开两个接口包含目录:

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 的复数形式简直是讽刺?

【问题讨论】:

    标签: cmake


    【解决方案1】:

    只需将目录列表放在引号中

    set_target_properties(
        lib
        PROPERTIES
        IMPORTED_LOCATION "something"
        INTERFACE_INCLUDE_DIRECTORIES "${LIB_INCLUDE_DIRS}"
    )
    

    否则列表将再次扩展为参数。

    参考文献

    【讨论】:

      猜你喜欢
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 2023-01-17
      相关资源
      最近更新 更多