我正在使用CPack的组件功能实现两个rpm。我想要一个拥有.so文件,另一个拥有所有头文件。关于组件功能中的打包文件,我找不到任何类似的问题。
(DEVEL”是我的转速rpm的组件)
现在我有set(CPACK_RPM_DEVEL_INSTALL_FILES path/../file1
...
path/../file2)
只是我的所有文件都用退回号隔开,但这根本不起作用。提供rpm中需要的文件列表的正确语句是什么?
当前它产生3 rpm(我想第三个将是一个完整的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
调用此命令
答案 0 :(得分:1)
在您的CMakelists.txt中,添加以下内容:
安装(目标输出文件...运行时目的地bin库目的地lib)
然后您可以使用
制作软件包
在您的构建目录中。