diff --git a/CMakeLists.txt b/CMakeLists.txt index 7027597bd81..62f12110d02 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,11 @@ if(NOT QT_BUILD_STANDALONE_TESTS) "${CMAKE_CURRENT_SOURCE_DIR}/cmake/3rdparty/kwin" ) + if(APPLE_OSX) + # Add module directory to pick up custom Info.plist template + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macos") + endif() + ## Find the build internals package. set(QT_BUILD_INTERNALS_SKIP_CMAKE_MODULE_PATH_ADDITION TRUE) list(PREPEND CMAKE_PREFIX_PATH diff --git a/cmake/QtBaseGlobalTargets.cmake b/cmake/QtBaseGlobalTargets.cmake index cdc284d6c13..47f9a1afd70 100644 --- a/cmake/QtBaseGlobalTargets.cmake +++ b/cmake/QtBaseGlobalTargets.cmake @@ -267,6 +267,13 @@ qt_copy_or_install(DIRECTORY cmake/ PATTERN "3rdparty" EXCLUDE ) +if(APPLE_OSX) + qt_copy_or_install(FILES + cmake/macos/MacOSXBundleInfo.plist.in + DESTINATION "${__GlobalConfig_install_dir}/macos" + ) +endif() + # Configure and install the QtBuildInternals package. set(__build_internals_path_suffix "${INSTALL_CMAKE_NAMESPACE}BuildInternals") qt_path_join(__build_internals_build_dir ${QT_CONFIG_BUILD_DIR} ${__build_internals_path_suffix}) diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in index 6d69c1f90e8..e9d2d7f2dc0 100644 --- a/cmake/QtConfig.cmake.in +++ b/cmake/QtConfig.cmake.in @@ -34,6 +34,11 @@ list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}") list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}/3rdparty/extra-cmake-modules/find-modules") list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}/3rdparty/kwin") +if(APPLE_OSX) + # Add module directory to pick up custom Info.plist template + list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}/macos") +endif() + foreach(module ${@INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS}) find_package(@INSTALL_CMAKE_NAMESPACE@${module} ${_@INSTALL_CMAKE_NAMESPACE@_FIND_PARTS_QUIET} diff --git a/cmake/macos/MacOSXBundleInfo.plist.in b/cmake/macos/MacOSXBundleInfo.plist.in new file mode 100644 index 00000000000..99c314f4284 --- /dev/null +++ b/cmake/macos/MacOSXBundleInfo.plist.in @@ -0,0 +1,44 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + + CFBundleName + ${MACOSX_BUNDLE_BUNDLE_NAME} + CFBundleIdentifier + ${MACOSX_BUNDLE_GUI_IDENTIFIER} + CFBundleExecutable + ${MACOSX_BUNDLE_EXECUTABLE_NAME} + + CFBundleVersion + ${MACOSX_BUNDLE_BUNDLE_VERSION} + CFBundleShortVersionString + ${MACOSX_BUNDLE_SHORT_VERSION_STRING} + CFBundleLongVersionString + ${MACOSX_BUNDLE_LONG_VERSION_STRING} + + LSMinimumSystemVersion + ${CMAKE_OSX_DEPLOYMENT_TARGET} + + CFBundleGetInfoString + ${MACOSX_BUNDLE_INFO_STRING} + NSHumanReadableCopyright + ${MACOSX_BUNDLE_COPYRIGHT} + + CFBundleIconFile + ${MACOSX_BUNDLE_ICON_FILE} + + CFBundleDevelopmentRegion + English + + NSPrincipalClass + NSApplication + + NSSupportsAutomaticGraphicsSwitching + + + \ No newline at end of file