如何指定我希望CPack打包到RPM中的文件?

时间:2018-06-22 16:39:51

标签: cmake rpm cpack

我正在使用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调用此命令

1 个答案:

答案 0 :(得分:1)

在您的CMakelists.txt中,添加以下内容:

安装(目标输出文件...运行时目的地bin库目的地lib)

然后您可以使用

制作软件包

在您的构建目录中。