gpt4 book ai didi

cmake - 仅在 CPack 中将文件添加到 ARCHIVE 包

转载 作者:行者123 更新时间:2023-12-02 01:33:51 34 4
gpt4 key购买 nike

是否可以使用 CMake/CPack 将一些文件仅添加到 ARCHIVE 生成器?显然组件会那样做,但我不知道怎么说“只将组件 X 添加到生成器 Y”。我做了这样的事情:

INSTALL(FILES somefile DESTINATION "."COMPONENT static)

但是如何将 static 组件仅添加到 ARCHIVE 而不是添加到其他生成器(如 DEB 和 RPM)?

最佳答案

最终在 CMake 列表的帮助下找到了这个。在你的 CMakeLists.txt 中做这样的事情:

install(PROGRAMS basic.sh DESTINATION "." COMPONENT basic)
install(PROGRAMS optional.sh DESTINATION "." COMPONENT optional)

set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_CURRENT_SOURCE_DIR}/CPackOptions.cmake")

CPackOptions.cmake 应该处理 ifs。请注意,您必须为您可能需要的任何其他生成器打开 CPACK_*_COMPONENT_INSTALL:

SET(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
SET(CPACK_DEB_COMPONENT_INSTALL ON)
SET(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1)

IF ("${CPACK_GENERATOR}" MATCHES "TGZ")
SET(CPACK_COMPONENTS_ALL basic optional)
ELSEIF ("${CPACK_GENERATOR}" MATCHES "TBZ2")
SET(CPACK_COMPONENTS_ALL basic optional)
ELSE()
SET(CPACK_COMPONENTS_ALL basic)
ENDIF()

关于cmake - 仅在 CPack 中将文件添加到 ARCHIVE 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32460371/

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