我有 Qt/C++ 项目,我想创建它的 Mac OS 版本。我已经使用 CMakeLists 和 makefile 构建通过 cmake 机制编写了它。它的特点之一是你可以使用自定义的 URI 方案来执行它,因此官方 Mac OS 文档说它必须写在 Info.plist 上,但是 make build 只输出一个可执行文件,而不是像 {ApplicationName}.app 这样的包。是否有任何工具可以将可执行文件捆绑到 {ApplicationName}.app 样式?
@chatzich 所说的话,以及
add_executable(appName MACOSX_BUNDLE
${mySources}
${myResources}
)
如果您希望重新分发您的工作,还需要做其他事情,例如在应用程序上运行
macdeployqt
来帮助捆绑库。
您必须先设置 set_target_properties(appName PROPERTIES_MACOSX_BUNDLE TRUE) 和 设置(TARGET_EXE build_dir/appName.app/Contents/MacOS/appName)
将代码添加到comakeList.txt
add_executable(${PROJECT_NAME}
MACOSX_BUNDLE
main.cpp
)
set_target_properties(yourProjectName PROPERTIES
BUNDLE True
MACOSX_BUNDLE_BUNDLE_NAME yourProjectName
MACOSX_BUNDLE_ICON_FILE "0.1"
MACOSX_BUNDLE_BUNDLE_VERSION "0.1"
MACOSX_BUNDLE_SHORT_VERSION_STRING "0.1"
MACOSX_BUNDLE_LS_SYS_VERSION "10.13.4"
MACOSX_BUNDLE_INFO_PLIST absolutePath of MacOSXBundleInfo.plist.in
)
include(CPack)