Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在CMakeLists.txt中禁用CPACK_PACKAGE_VERSION_补丁?_Cmake_Fedora_Rpm_Rhel_Cpack - Fatal编程技术网

如何在CMakeLists.txt中禁用CPACK_PACKAGE_VERSION_补丁?

如何在CMakeLists.txt中禁用CPACK_PACKAGE_VERSION_补丁?,cmake,fedora,rpm,rhel,cpack,Cmake,Fedora,Rpm,Rhel,Cpack,我还是一个CMake新手(3天前开始学习)。在我当前的CMakeLists.txt中,我有以下set指令: [...] SET(CPACK_GENERATOR "RPM") SET(CPACK_PACKAGE_VERSION_MAJOR "3") SET(CPACK_PACKAGE_VERSION_MINOR "3") SET(CPACK_PACKAGE_VERSION_PATCH "svn") SET(CPACK_SYSTEM_NAME "0.el6.x86_64") [...] 运行mak

我还是一个
CMake
新手(3天前开始学习)。在我当前的
CMakeLists.txt
中,我有以下
set
指令:

[...]
SET(CPACK_GENERATOR "RPM")
SET(CPACK_PACKAGE_VERSION_MAJOR "3")
SET(CPACK_PACKAGE_VERSION_MINOR "3")
SET(CPACK_PACKAGE_VERSION_PATCH "svn")
SET(CPACK_SYSTEM_NAME "0.el6.x86_64")
[...]
运行
makepackage
后,我得到了一个
libcxx-3.3.svn-0.el6.x86_64.rpm

但我认为这是“欺骗”

根据,理想情况下,我应该能够生成
libcxx-3.3-0.el6.x86_64.rpm
。但这要求
CPack
不显示
CPack\u包\u版本\u补丁


然而,根据我的试验结果,这似乎不可行。请告诉我如何操作。

您是否尝试将CPACK\u PACKAGE\u FILE\u NAME(不带扩展名)设置为所需的名称?这样,如果默认的包命名方案不适合您的需要,您就可以定义自己的包命名方案。有关关键CPack变量及其作用的更多详细信息,请参阅。

感谢您的回复
CPACK\u PACKAGE\u FILE\u NAME
默认值为
${CPACK\u PACKAGE\u NAME}-${CPACK\u PACKAGE\u VERSION}-${CPACK\u SYSTEM\u NAME}
,所以我想我所要做的就是重置
CPACK\u PACKAGE\u VERSION
CPACK\u PACKAGE\u VERSION
CPACK\u VERSION\u MAJOR
CPACK\u PACKAGE\u VERSION\u MINOR
CPACK\u PACKAGE\u VERSION\u PATCH
构建,AFAICT.yes。实际上,使用
CPACK\u PACKAGE\u FILE\u NAME
是唯一的方法。使用
cmake
2.8.8进行测试。试图设置
CPACK\u PACKAGE\u版本
似乎没有任何效果。x-(您要么接受硬连线逻辑,要么通过操纵提供的变量应用自己的逻辑。我认为这是一种合理的方法,提供该变量是为了允许调整包文件名。