Fla*_*ire 5 macos bundle cmake
这可以被视为带有Qt应用程序的BundleUtiliies的CMake MacOS X捆绑软件的后续产品
我想在CI上创建一个MACOS捆绑包,用户可以将其用于开源项目。
是)我有的:
到目前为止,我所做的是:
MACOSX_BUNDLE到可执行文件RESOURCE属性MACOSX_BUNDLE_*属性install(TARGETS调用和install(FILES资源安装)但是,现在我仍然停留在如何将这些东西打包而无需进行大量手动工作的问题上。
从链接的问题中我得到了这样的东西:
set(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app")
set(LIBS )
set(DIRS "${CMAKE_BINARY_DIR}")
# Path used for searching by FIND_XXX(), with appropriate suffixes added
if(CMAKE_PREFIX_PATH)
foreach(dir ${CMAKE_PREFIX_PATH})
list(APPEND DIRS "${dir}/bin" "${dir}/lib")
endforeach()
endif()
install(CODE "include(BundleUtilities)
fixup_bundle(\"${APPS}\" \"${LIBS}\" \"${DIRS}\")")
Run Code Online (Sandbox Code Playgroud)
但:
*.app手动通过路径?CMake已经知道了,不是吗?LIBS应该包含我的插件,不是吗?但是呢 路径?目标名称?DIRS对我来说也是一个谜。即使在CMake 3.12中也没有文档(尽管我仍在使用2.8.12 :()帮助,示例指针,完整的CMakeLists等等,非常欢迎。
注意:我是从CI上的linux交叉编译的,而不是使用Qt的,所以例如eg macdeployqt左右毫无疑问。
刚遇到同样的问题,谷歌把我带到了这里。
这对我有用:
set(CUR_TARGET myappname)
add_executable(${CUR_TARGET} MACOSX_BUNDLE ${MY_SRC})
set_target_properties(${CUR_TARGET} PROPERTIES
BUNDLE True
MACOSX_BUNDLE_GUI_IDENTIFIER my.domain.style.identifier.${CUR_TARGET}
MACOSX_BUNDLE_BUNDLE_NAME ${CUR_TARGET}
MACOSX_BUNDLE_BUNDLE_VERSION "0.1"
MACOSX_BUNDLE_SHORT_VERSION_STRING "0.1"
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/customtemplate.plist.in
)
Run Code Online (Sandbox Code Playgroud)
文件 customtemplate.plist.in 基于来自 your_cmake_install_dir/share/cmake/Modules/MacOSXBundleInfo.plist.in 的 cmake dir 子文件夹中的 cmake 模板
| 归档时间: |
|
| 查看次数: |
859 次 |
| 最近记录: |