如何指定我希望 CPack 打包到 RPM 中的文件?
How do I specify the files I want CPack to pack into an RPM?
我正在使用 CPack 的组件功能制作两个 rpm。我希望一个拥有 .so 文件,另一个拥有所有头文件。我在组件功能中找不到关于打包文件的任何类似问题。
(DEVEL" 是我开发 rpm 的组件)
现在我有 set(CPACK_RPM_DEVEL_INSTALL_FILES path/../file1
...
path/../file2)
只是我所有的文件都用 returns 分隔,但这根本不起作用。在 rpm 中提供我需要的文件列表的正确语句是什么?
目前它产生 3 个 rpms(我假设第三个将只是一个完整的,包含我生成但未使用的所有文件)。其中两个 rpm 包含回购中的每个文件,第三个 rpm 中只有两个 CMake 文件。
cpack_add_component(DEVEL)
//Skipping version, description, name, setting source_dir...
set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP)
set(CPACK_COMPONENT_DEVEL_DISPLAY_NAME "devel")
set(CPACK_RPM_DEVEL_INSTALL_FILES "/usr/include/opentracing/noop.h
...
/usr/include/opentracing/version.h")
set(CPACK_COMPONENT_DIST_REQUIRED TRUE)
set(CPACK_COMPONENT_DEVEL_REQUIRED TRUE)
set(CPACK_COMPONENTS_ALL DIST DEVEL)
我在 linux 命令行中使用 cpack -G rpm
调用它
在您的 CMakelists.txt 中,添加如下内容:
install(TARGETS outputfiles... RUNTIME DESTINATION bin LIBRARY DESTINATION lib)
然后你可以使用
make package
在你的构建目录中。
我正在使用 CPack 的组件功能制作两个 rpm。我希望一个拥有 .so 文件,另一个拥有所有头文件。我在组件功能中找不到关于打包文件的任何类似问题。
(DEVEL" 是我开发 rpm 的组件)
现在我有 set(CPACK_RPM_DEVEL_INSTALL_FILES path/../file1
...
path/../file2)
只是我所有的文件都用 returns 分隔,但这根本不起作用。在 rpm 中提供我需要的文件列表的正确语句是什么?
目前它产生 3 个 rpms(我假设第三个将只是一个完整的,包含我生成但未使用的所有文件)。其中两个 rpm 包含回购中的每个文件,第三个 rpm 中只有两个 CMake 文件。
cpack_add_component(DEVEL)
//Skipping version, description, name, setting source_dir...
set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP)
set(CPACK_COMPONENT_DEVEL_DISPLAY_NAME "devel")
set(CPACK_RPM_DEVEL_INSTALL_FILES "/usr/include/opentracing/noop.h
...
/usr/include/opentracing/version.h")
set(CPACK_COMPONENT_DIST_REQUIRED TRUE)
set(CPACK_COMPONENT_DEVEL_REQUIRED TRUE)
set(CPACK_COMPONENTS_ALL DIST DEVEL)
我在 linux 命令行中使用 cpack -G rpm
在您的 CMakelists.txt 中,添加如下内容:
install(TARGETS outputfiles... RUNTIME DESTINATION bin LIBRARY DESTINATION lib)
然后你可以使用
make package
在你的构建目录中。