【发布时间】:2017-08-16 20:39:05
【问题描述】:
我已经使用 cmake 3.2 快一年了,取得了不错的成功。
我正在尝试分别安装“标题”和“库”组件,然后使用 find_package 来要求每个组件。使用自定义目标安装工作正常。但是,当为我刚刚安装的包/组件添加 COMPONENT 关键字时, find_package 失败。
install(FILES
include/sum.h
...
include/sumvmtypes.h
DESTINATION ${APP_INCLUDE_INSTALL_DIR}/sum
COMPONENT headers
)
add_custom_target(install_headers
COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=headers
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake" )
我正在使用 PackageConfigHelper 为项目创建包配置文件,它一直运行良好。
configure_package_config_file(${PACKAGE_NAME}-config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_DIR}/${PACKAGE_NAME}
PATH_VARS NEOS_INCLUDE_INSTALL_DIR LIB_INSTALL_DIR INCLUDE_INSTALL_DIR APP_INCLUDE_INSTALL_DIR )
我在 ...cmake.in 文件中添加了用于检查组件的宏。
check_required_components(neo_sumlib)
作为调试步骤,我确保
这是我的想法。 install 命令的 COMPONENTS 与 find_package 命令的 COMPONENTS 不同。 find_package 的 COMPONENTS 是否真的在寻找
谢谢 杰瑞
【问题讨论】:
标签: cmake