如何使用CMake“安装”(复制)传递链接库的头文件

时间:2017-11-29 12:18:33

标签: build cmake header-files

我有3个库: A B C

C链接B. B链接A(C也将“链接”B)。

target_link_libraries(B A)
target_link_libraries(C B)

每个库都设置了PUBLIC_HEADER属性,该属性包含相应头文件的路径。例如:

set_target_properties(A PROPERTIES PUBLIC_HEADER "A.h")
set_target_properties(B PROPERTIES PUBLIC_HEADER "B.h")
set_target_properties(C PROPERTIES PUBLIC_HEADER "C.h")

当我在“build”目录中编译并安装库 C 时(使用 make&& make install ),我想要输出库文件和所有“链接”头文件。

为了达到这个目的,我使用了以下指令:

install(TARGETS C
        RUNTIME DESTINATION       build
        LIBRARY DESTINATION       build
        ARCHIVE DESTINATION       build
        PUBLIC_HEADER DESTINATION build)

但是,只有 C.h 文件(和库)被复制到 build 目录中。

C 如何继承 A / B 链接库的PUBLIC_HEADER?

0 个答案:

没有答案
相关问题