如何在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-(您要么接受硬连线逻辑,要么通过操纵提供的变量应用自己的逻辑。我认为这是一种合理的方法,提供该变量是为了允许调整包文件名。