使用 CPack,在 OSX 上构建时,如何避免在 package/bundle 文件名中以后缀 Darwin 结尾?

Using CPack, when building on OSX, how to avoid ending up with the suffix Darwin in the package/bundle filename?

当我在 OSX 上使用 CPack 构建时,我生成的包名称的文件名中包含 "Darwin"。我不希望它存在,因为这些天它毫无用处。我如何告诉 CPack 不要添加它?

cmake -G "Unix Makefiles" ..
make && ctest && cpack -G "Bundle

我得到:

myapp-1.2.3-Darwin.dmg

我想要:

myapp-1.2.3.dmg

文件名由CPACK_PACKAGE_FILE_NAME变量控制,需要在调用include(CPack)前设置。默认值为:

${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}

在你的情况下,你想要这样的东西(假设你已经设置了 CPACK_PACKAGE_NAMECPACK_PACKAGE_VERSION):

set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")

CPack 模块的 CMake 文档中讨论了这些变量和更多变量。