summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2013-10-30 15:21:04 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-31 12:33:55 +0100
commitf9a8cf99bc0b9afda44c0b3e7e8af141003bbd9b (patch)
tree212068a75856997db9d4973c62244b77bd0aa579
parent22aea3f42b17a3675f95f39c6d9d33f4075f8f8e (diff)
downloadqtbase-f9a8cf99bc0b9afda44c0b3e7e8af141003bbd9b.tar.gz
qtbase-f9a8cf99bc0b9afda44c0b3e7e8af141003bbd9b.tar.bz2
qtbase-f9a8cf99bc0b9afda44c0b3e7e8af141003bbd9b.zip
qmake: Pick up default bundle prefix from Xcode preferences
But still fall back to 'com.yourcompany', just like Xcode does for the initial launch. Change-Id: I89afadefafc254a0014aca197741d42a0199943e Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-rw-r--r--mkspecs/features/mac/default_pre.prf9
-rw-r--r--mkspecs/macx-clang-32/Info.plist.app2
-rw-r--r--mkspecs/macx-clang/Info.plist.app2
-rw-r--r--mkspecs/macx-g++-32/Info.plist.app2
-rw-r--r--mkspecs/macx-g++/Info.plist.app2
-rw-r--r--mkspecs/macx-g++40/Info.plist.app2
-rw-r--r--mkspecs/macx-g++42/Info.plist.app2
-rw-r--r--mkspecs/macx-icc/Info.plist.app2
-rwxr-xr-xmkspecs/macx-ios-clang/Info.plist.app2
-rw-r--r--mkspecs/macx-llvm/Info.plist.app2
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp5
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@EXECUTABLE@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@EXECUTABLE@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@EXECUTABLE@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@EXECUTABLE@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@EXECUTABLE@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@EXECUTABLE@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@EXECUTABLE@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@BUNDLEIDENTIFIER@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleName</key>
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 @@
<key>CFBundleExecutable</key>
<string>@EXECUTABLE@</string>
<key>CFBundleIdentifier</key>
- <string>com.yourcompany.@EXECUTABLE@</string>
+ <string>@BUNDLEIDENTIFIER@</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
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"));