使用 CPack,在 OSX 上构建时,如何避免在包/捆绑文件名中以后缀 Darwin 结尾?
Posted
技术标签:
【中文标题】使用 CPack,在 OSX 上构建时,如何避免在包/捆绑文件名中以后缀 Darwin 结尾?【英文标题】:Using CPack, when building on OSX, how to avoid ending up with the suffix Darwin in the package/bundle filename? 【发布时间】:2017-06-30 12:28:39 【问题描述】:当我在 OSX 上使用 CPack 构建时,我生成的包名称在文件名中包含“Darwin”。我不希望它在那里,因为这些天它没有任何用途。我如何告诉 CPack 不要添加它?
cmake -G "Unix Makefiles" ..
make && ctest && cpack -G "Bundle
我得到:
myapp-1.2.3-Darwin.dmg
我想要:
myapp-1.2.3.dmg
【问题讨论】:
【参考方案1】:文件名由CPACK_PACKAGE_FILE_NAME
变量控制,您需要在调用include(CPack)
之前设置该变量。默认值为:
$CPACK_PACKAGE_NAME-$CPACK_PACKAGE_VERSION-$CPACK_SYSTEM_NAME
在你的情况下,你想要这样的东西(假设你已经设置了 CPACK_PACKAGE_NAME
和 CPACK_PACKAGE_VERSION
):
set(CPACK_PACKAGE_FILE_NAME "$CPACK_PACKAGE_NAME-$CPACK_PACKAGE_VERSION")
CPack 模块的 CMake 文档中讨论了这些变量和更多内容。
【讨论】:
关键是在INCLUDE(CPACK)
之前执行此操作,而且我还必须在它之前设置 CPACK_PACKAGE_VERSION 否则,在包含 CPACK 之前 CPACK_PACKAGE_VERSION 是空白的以上是关于使用 CPack,在 OSX 上构建时,如何避免在包/捆绑文件名中以后缀 Darwin 结尾?的主要内容,如果未能解决你的问题,请参考以下文章