From f9a8cf99bc0b9afda44c0b3e7e8af141003bbd9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 30 Oct 2013 15:21:04 +0100 Subject: qmake: Pick up default bundle prefix from Xcode preferences MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit But still fall back to 'com.yourcompany', just like Xcode does for the initial launch. Change-Id: I89afadefafc254a0014aca197741d42a0199943e Reviewed-by: Morten Johan Sørvig Reviewed-by: Oswald Buddenhagen --- mkspecs/features/mac/default_pre.prf | 9 +++++++++ mkspecs/macx-clang-32/Info.plist.app | 2 +- mkspecs/macx-clang/Info.plist.app | 2 +- mkspecs/macx-g++-32/Info.plist.app | 2 +- mkspecs/macx-g++/Info.plist.app | 2 +- mkspecs/macx-g++40/Info.plist.app | 2 +- mkspecs/macx-g++42/Info.plist.app | 2 +- mkspecs/macx-icc/Info.plist.app | 2 +- mkspecs/macx-ios-clang/Info.plist.app | 2 +- mkspecs/macx-llvm/Info.plist.app | 2 +- qmake/generators/mac/pbuilder_pbx.cpp | 5 ++++- 11 files changed, 22 insertions(+), 10 deletions(-) diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf index 98caf54f8a..c031403930 100644 --- a/mkspecs/features/mac/default_pre.prf +++ b/mkspecs/features/mac/default_pre.prf @@ -24,6 +24,15 @@ isEmpty(QMAKE_XCODE_VERSION) { unset(xcode_version) } +isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) { + QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist + exists($$QMAKE_XCODE_PREFERENCES_FILE): \ + QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null") + + !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \ + cache(QMAKE_TARGET_BUNDLE_PREFIX) +} + # This variable is used by the xcode_dynamic_library_suffix # feature, which allows Xcode to choose the Qt libraries to link to # at build time, depending on the current Xcode SDK and configuration. diff --git a/mkspecs/macx-clang-32/Info.plist.app b/mkspecs/macx-clang-32/Info.plist.app index 187a8e0aa4..8e44bd7f60 100644 --- a/mkspecs/macx-clang-32/Info.plist.app +++ b/mkspecs/macx-clang-32/Info.plist.app @@ -15,7 +15,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@EXECUTABLE@ + @BUNDLEIDENTIFIER@ NOTE This file was generated by Qt/QMake. diff --git a/mkspecs/macx-clang/Info.plist.app b/mkspecs/macx-clang/Info.plist.app index 187a8e0aa4..8e44bd7f60 100644 --- a/mkspecs/macx-clang/Info.plist.app +++ b/mkspecs/macx-clang/Info.plist.app @@ -15,7 +15,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@EXECUTABLE@ + @BUNDLEIDENTIFIER@ NOTE This file was generated by Qt/QMake. diff --git a/mkspecs/macx-g++-32/Info.plist.app b/mkspecs/macx-g++-32/Info.plist.app index 187a8e0aa4..8e44bd7f60 100644 --- a/mkspecs/macx-g++-32/Info.plist.app +++ b/mkspecs/macx-g++-32/Info.plist.app @@ -15,7 +15,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@EXECUTABLE@ + @BUNDLEIDENTIFIER@ NOTE This file was generated by Qt/QMake. diff --git a/mkspecs/macx-g++/Info.plist.app b/mkspecs/macx-g++/Info.plist.app index 187a8e0aa4..8e44bd7f60 100644 --- a/mkspecs/macx-g++/Info.plist.app +++ b/mkspecs/macx-g++/Info.plist.app @@ -15,7 +15,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@EXECUTABLE@ + @BUNDLEIDENTIFIER@ NOTE This file was generated by Qt/QMake. diff --git a/mkspecs/macx-g++40/Info.plist.app b/mkspecs/macx-g++40/Info.plist.app index 187a8e0aa4..8e44bd7f60 100644 --- a/mkspecs/macx-g++40/Info.plist.app +++ b/mkspecs/macx-g++40/Info.plist.app @@ -15,7 +15,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@EXECUTABLE@ + @BUNDLEIDENTIFIER@ NOTE This file was generated by Qt/QMake. diff --git a/mkspecs/macx-g++42/Info.plist.app b/mkspecs/macx-g++42/Info.plist.app index 187a8e0aa4..8e44bd7f60 100644 --- a/mkspecs/macx-g++42/Info.plist.app +++ b/mkspecs/macx-g++42/Info.plist.app @@ -15,7 +15,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@EXECUTABLE@ + @BUNDLEIDENTIFIER@ NOTE This file was generated by Qt/QMake. diff --git a/mkspecs/macx-icc/Info.plist.app b/mkspecs/macx-icc/Info.plist.app index 187a8e0aa4..8e44bd7f60 100644 --- a/mkspecs/macx-icc/Info.plist.app +++ b/mkspecs/macx-icc/Info.plist.app @@ -15,7 +15,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@EXECUTABLE@ + @BUNDLEIDENTIFIER@ NOTE This file was generated by Qt/QMake. diff --git a/mkspecs/macx-ios-clang/Info.plist.app b/mkspecs/macx-ios-clang/Info.plist.app index 91f4b3d07e..5a0a631d7f 100755 --- a/mkspecs/macx-ios-clang/Info.plist.app +++ b/mkspecs/macx-ios-clang/Info.plist.app @@ -13,7 +13,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@BUNDLEIDENTIFIER@ + @BUNDLEIDENTIFIER@ CFBundleDisplayName ${PRODUCT_NAME} CFBundleName diff --git a/mkspecs/macx-llvm/Info.plist.app b/mkspecs/macx-llvm/Info.plist.app index 187a8e0aa4..8e44bd7f60 100644 --- a/mkspecs/macx-llvm/Info.plist.app +++ b/mkspecs/macx-llvm/Info.plist.app @@ -15,7 +15,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.yourcompany.@EXECUTABLE@ + @BUNDLEIDENTIFIER@ NOTE This file was generated by Qt/QMake. diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp index 99373a0b8a..307b3d27ba 100644 --- a/qmake/generators/mac/pbuilder_pbx.cpp +++ b/qmake/generators/mac/pbuilder_pbx.cpp @@ -1404,7 +1404,10 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t) } else { plist_in_text = plist_in_text.replace("@LIBRARY@", project->first("QMAKE_ORIG_TARGET").toQString()); } - plist_in_text = plist_in_text.replace("@BUNDLEIDENTIFIER@", QLatin1String("${PRODUCT_NAME:rfc1034identifier}")); + QString bundlePrefix = project->first("QMAKE_TARGET_BUNDLE_PREFIX").toQString(); + if (bundlePrefix.isEmpty()) + bundlePrefix = "com.yourcompany"; + plist_in_text = plist_in_text.replace("@BUNDLEIDENTIFIER@", bundlePrefix + "." + QLatin1String("${PRODUCT_NAME:rfc1034identifier}")); if (!project->values("VERSION").isEmpty()) { plist_in_text = plist_in_text.replace("@SHORT_VERSION@", project->first("VER_MAJ") + "." + project->first("VER_MIN")); -- cgit v1.2.3