cmake 当我只有make输出的可执行文件时,如何创建{ApplicationName}.app包?

jyztefdp  于 2023-10-20  发布在  其他
关注(0)|答案(3)|浏览(96)

我有Qt/C ++项目,我想创建一个Mac OS版本。我使用CMakeLists和makefile build使用cmake机制编写了它。它的一个特性是,你可以用一个自定义的URI方案来执行它,所以官方的Mac OS文档说它必须写在Info.plist上,但是make build输出只是一个可执行文件,而不是像{ApplicationName}. app这样的包。是否有任何工具可以将可执行文件绑定到{ApplicationName}. app样式?

xxe27gdn

xxe27gdn1#

@chatzich说的话,

add_executable(appName MACOSX_BUNDLE
        ${mySources}
        ${myResources}
    )

如果你想重新发布你的作品,还有其他事情要做,比如在应用程序上运行macdeployqt来帮助捆绑库。

aemubtdh

aemubtdh2#

必须先设置set_target_properties(appName PROPERTIES_MACOSX_BUNDLE TRUE)和set(TARGET_EXE build_dir/appName.app/Contents/MacOS/appName)

vptzau2j

vptzau2j3#

将代码添加到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)

相关问题