gpt4 book ai didi

c++ - 在 cmake : Linux 中使用 CPack 生成两个不同的包

转载 作者:IT王子 更新时间:2023-10-29 00:34:56 26 4
gpt4 key购买 nike

我想为我的项目创建两个不同的包。

  1. DCM(包括除 RCM 特定模块之外的所有模块)
  2. RCM(特定模块。)

<强>1。数据中心:源/CMakeList.txt

cmake_minimum_required (VERSION 2.8)

add_subdirectory(ecs) # Include all modules

set(CPACK_GENERATOR TGZ)
set(CPACK_PACKAGE_NAME "dcm")
set(CPACK_PACKAGE_VENDOR "AB")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Device Control")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
set(CPACK_PACKAGE_VERSION_BUILD ${BUILD_NUMBER})

set(CPACK_COMPONENTS_ALL DCM RCM )

# Include CPack to introduce the appropriate targets
include(CPack)

<强>2。资源管理:src/ecs/mqa/mqa_rcm/CMakeList.txt

set(RCM_SCRIPTS 
commit.sh
install.sh
prepare_for_install.sh
system_check.sh
update_init.sh)

INSTALL(FILES ${RCM_SCRIPTS}
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE WORLD_EXECUTE
DESTINATION ${RCM_INSTALL_PREFIX}/install
COMPONENT RCM )
# Create version file
install(FILES "${CMAKE_BINARY_DIR}/version"
DESTINATION ${RCM_INSTALL_PREFIX}
COMPONENT RCM )

试用:在 Linux 虚拟机提示符下。

$make -j4
$make install
$make package

它只创建单个包 DCM-1.90.0-Linux.tar.gz

引用: CMake WikiCPackStackOverflow

问题:我想创建 1. DCM-1.90.0-Linux.tar.gz 和 2. RCM-1.90.0-Linux.tar.gz 包。

我用谷歌搜索,但无法找到确切的解决方案。

如果您需要更多信息,请告诉我。

非常感谢。

最佳答案

我只需要将 CPACK 标志设置为 ON。

set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)

就在

include(CPack)

然后运行命令。

make
make install
make package

它创建了两个不同的包。

关于c++ - 在 cmake : Linux 中使用 CPack 生成两个不同的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28671524/

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