From 5c1ed8bb74ee4eed9ffc9537b880104445b43cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 22 Jul 2020 15:44:43 +0200 Subject: [PATCH] Use 'A' for Apple framework version instead of Qt major version All system frameworks use 'A' instead of the major version of the framework, and Xcode's code signing assumes that the framework version is 'A' when signing embedded frameworks (FB7323980), so leave the version 'A'. This is also what Apple recommends. Change-Id: Idbf2e30e156c3e869da8f75731e568524d9407e5 Reviewed-by: Alexandru Croitor --- cmake/QtFrameworkHelpers.cmake | 2 +- cmake/QtModuleHelpers.cmake | 2 +- mkspecs/features/qt_module.prf | 2 +- mkspecs/features/resolve_target.prf | 7 ++++--- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cmake/QtFrameworkHelpers.cmake b/cmake/QtFrameworkHelpers.cmake index 7a9cb6e75bf..64efc439c3c 100644 --- a/cmake/QtFrameworkHelpers.cmake +++ b/cmake/QtFrameworkHelpers.cmake @@ -47,7 +47,7 @@ function(qt_internal_find_apple_system_framework out_var framework_name) endif() endfunction() -# Copy header files to QtXYZ.framework/Versions/6/Headers/ +# Copy header files to QtXYZ.framework/Versions/A/Headers/ # Use this function for header files that # - are not added as source files to the target # - are not marked as PUBLIC_HEADER diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index 08f7629cf91..2ab91cc9540 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -54,7 +54,7 @@ function(qt_internal_add_module target) set(is_framework 1) set_target_properties(${target} PROPERTIES FRAMEWORK TRUE - FRAMEWORK_VERSION ${PROJECT_VERSION_MAJOR} + FRAMEWORK_VERSION "A" # Not based on Qt major version MACOSX_FRAMEWORK_IDENTIFIER org.qt-project.Qt${target} MACOSX_FRAMEWORK_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 828a9621b9b..d8c154e9204 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -128,7 +128,7 @@ else: \ lib_bundle { # Set the CFBundleIdentifier prefix for Qt frameworks QMAKE_TARGET_BUNDLE_PREFIX = org.qt-project - #QMAKE_FRAMEWORK_VERSION = 4.0 + QMAKE_FRAMEWORK_VERSION = "A" # Not based on Qt major version CONFIG += sliced_bundle header_module { CONFIG += bundle diff --git a/mkspecs/features/resolve_target.prf b/mkspecs/features/resolve_target.prf index 1ef1dcfd1cb..73a8a61a9c0 100644 --- a/mkspecs/features/resolve_target.prf +++ b/mkspecs/features/resolve_target.prf @@ -56,9 +56,10 @@ win32 { framework_ext = $$QMAKE_BUNDLE_EXTENSION QMAKE_RESOLVED_BUNDLE = $${QMAKE_RESOLVED_TARGET}$${framework_target}$${framework_ext} !shallow_bundle { - TEMP_VERSION = $$section(VERSION, ., 0, 0) - isEmpty(TEMP_VERSION):TEMP_VERSION = A - QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_BUNDLE}/Versions/$${TEMP_VERSION}/$${TARGET} + framework_version = $$QMAKE_FRAMEWORK_VERSION + isEmpty(framework_version):framework_version = $$section(VERSION, ., 0, 0) + isEmpty(framework_version):framework_version = A + QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_BUNDLE}/Versions/$${framework_version}/$${TARGET} } else { QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_BUNDLE}/$${TARGET} }