gpt4 book ai didi

c++ - 是否可以将导入的库添加到 target_link_libraries 来处理包含目录?

转载 作者:IT老高 更新时间:2023-10-28 22:28:45 26 4
gpt4 key购买 nike

不知何故,我正在努力找出是否可以在 CMake 中定义导入的库,指定目标属性(include_directories 和库路径),并希望一旦我将该项目添加到另一个项目中的 target_link_libraries,CMake 将附加包含目录.

假设我在一个名为 Module-Conf.cmake 的文件中有一个导入的库:

add_library(mymodule STATIC IMPORTED)
set_target_properties(mymodule PROPERTIES IMPORTED_LOCATION "${OUTPUT_DIR}/lib")
set_target_properties(mymodule PROPERTIES INCLUDE_DIRECTORIES "${OUTPUT_DIR}/include")

在一个项目中我添加了依赖:

include(Module-Conf)
target_link_libraries(${PROJECT_NAME} mymodule)

CMake 是否会将 include_directories 属性附加到包含路径?现在我看不到路径,所以似乎我必须自己使用 get_target_property 来完成?

问题:我可以做一些 CMake 魔术来自动将包含附加到另一个项目的包含目录吗?

非常感谢。马丁

最佳答案

INCLUDE_DIRECTORIES 属性和 INTERFACE_INCLUDE_DIRECTORIES 属性的区别在于传递性。

改为设置INTERFACE_INCLUDE_DIRECTORIES

http://www.cmake.org/cmake/help/latest/manual/cmake-buildsystem.7.html#transitive-usage-requirements

关于c++ - 是否可以将导入的库添加到 target_link_libraries 来处理包含目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25907478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com