我有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?