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

问题描述 投票:0回答:3

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

xcode macos makefile cmake url-scheme
3个回答
2
投票

@chatzich 所说的话,以及

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

如果您希望重新分发您的工作,还需要做其他事情,例如在应用程序上运行

macdeployqt
来帮助捆绑库。


1
投票

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


0
投票

将代码添加到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)
© www.soinside.com 2019 - 2024. All rights reserved.