summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/features/mac/default_post.prf23
-rw-r--r--mkspecs/macx-clang/Info.plist.app10
-rw-r--r--mkspecs/macx-clang/Info.plist.lib10
-rw-r--r--mkspecs/macx-g++/Info.plist.app10
-rw-r--r--mkspecs/macx-g++/Info.plist.lib10
-rw-r--r--mkspecs/macx-icc/Info.plist.app10
-rw-r--r--mkspecs/macx-icc/Info.plist.lib10
-rw-r--r--mkspecs/macx-ios-clang/Info.plist.app14
-rw-r--r--mkspecs/macx-ios-clang/Info.plist.lib10
-rw-r--r--mkspecs/macx-tvos-clang/Info.plist.app12
-rw-r--r--mkspecs/macx-tvos-clang/Info.plist.lib10
-rw-r--r--mkspecs/macx-watchos-clang/Info.plist.app12
-rw-r--r--mkspecs/macx-watchos-clang/Info.plist.lib10
-rw-r--r--qmake/doc/src/qmake-manual.qdoc52
-rw-r--r--qmake/generators/unix/unixmake2.cpp48
15 files changed, 176 insertions, 75 deletions
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
index e645ba5803..50a1ec6764 100644
--- a/mkspecs/features/mac/default_post.prf
+++ b/mkspecs/features/mac/default_post.prf
@@ -47,6 +47,29 @@ app_extension_api_only {
}
macx-xcode {
+ qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
+ !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
+ qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO
+ else: \
+ qmake_pkginfo_typeinfo.value = "????"
+ QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
+
+ !isEmpty(VERSION) {
+ l = $$split(VERSION, '.') 0 0 # make sure there are at least three
+ VER_MAJ = $$member(l, 0, 0)
+ VER_MIN = $$member(l, 1, 1)
+ VER_PAT = $$member(l, 2, 2)
+ unset(l)
+
+ qmake_full_version.name = QMAKE_FULL_VERSION
+ qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
+ QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
+
+ qmake_short_version.name = QMAKE_SHORT_VERSION
+ qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
+ QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
+ }
+
!isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
debug_information_format.name = DEBUG_INFORMATION_FORMAT
debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
diff --git a/mkspecs/macx-clang/Info.plist.app b/mkspecs/macx-clang/Info.plist.app
index ebd108dadf..4d64a77704 100644
--- a/mkspecs/macx-clang/Info.plist.app
+++ b/mkspecs/macx-clang/Info.plist.app
@@ -3,17 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@EXECUTABLE@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIconFile</key>
- <string>@ICON@</string>
+ <string>${ASSETCATALOG_COMPILER_APPICON_NAME}</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>NSPrincipalClass</key>
diff --git a/mkspecs/macx-clang/Info.plist.lib b/mkspecs/macx-clang/Info.plist.lib
index 044cbd3393..ce28365500 100644
--- a/mkspecs/macx-clang/Info.plist.lib
+++ b/mkspecs/macx-clang/Info.plist.lib
@@ -3,19 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@LIBRARY@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>@SHORT_VERSION@</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleVersion</key>
- <string>@FULL_VERSION@</string>
+ <string>${QMAKE_FULL_VERSION}</string>
<key>NOTE</key>
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
</dict>
diff --git a/mkspecs/macx-g++/Info.plist.app b/mkspecs/macx-g++/Info.plist.app
index ebd108dadf..4d64a77704 100644
--- a/mkspecs/macx-g++/Info.plist.app
+++ b/mkspecs/macx-g++/Info.plist.app
@@ -3,17 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@EXECUTABLE@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIconFile</key>
- <string>@ICON@</string>
+ <string>${ASSETCATALOG_COMPILER_APPICON_NAME}</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>NSPrincipalClass</key>
diff --git a/mkspecs/macx-g++/Info.plist.lib b/mkspecs/macx-g++/Info.plist.lib
index 044cbd3393..ce28365500 100644
--- a/mkspecs/macx-g++/Info.plist.lib
+++ b/mkspecs/macx-g++/Info.plist.lib
@@ -3,19 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@LIBRARY@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>@SHORT_VERSION@</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleVersion</key>
- <string>@FULL_VERSION@</string>
+ <string>${QMAKE_FULL_VERSION}</string>
<key>NOTE</key>
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
</dict>
diff --git a/mkspecs/macx-icc/Info.plist.app b/mkspecs/macx-icc/Info.plist.app
index ebd108dadf..4d64a77704 100644
--- a/mkspecs/macx-icc/Info.plist.app
+++ b/mkspecs/macx-icc/Info.plist.app
@@ -3,17 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@EXECUTABLE@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIconFile</key>
- <string>@ICON@</string>
+ <string>${ASSETCATALOG_COMPILER_APPICON_NAME}</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
+ <key>LSMinimumSystemVersion</key>
+ <string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>NSPrincipalClass</key>
diff --git a/mkspecs/macx-icc/Info.plist.lib b/mkspecs/macx-icc/Info.plist.lib
index 044cbd3393..ce28365500 100644
--- a/mkspecs/macx-icc/Info.plist.lib
+++ b/mkspecs/macx-icc/Info.plist.lib
@@ -3,19 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@LIBRARY@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>@SHORT_VERSION@</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleVersion</key>
- <string>@FULL_VERSION@</string>
+ <string>${QMAKE_FULL_VERSION}</string>
<key>NOTE</key>
<string>Please, do NOT change this file -- It 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 4a7c527260..1acbf9d768 100644
--- a/mkspecs/macx-ios-clang/Info.plist.app
+++ b/mkspecs/macx-ios-clang/Info.plist.app
@@ -5,25 +5,27 @@
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
- <string>@EXECUTABLE@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIconFile</key>
- <string>@ICON@</string>
+ <string>${ASSETCATALOG_COMPILER_APPICON_NAME}</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>1.0</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleVersion</key>
- <string>1.0</string>
+ <string>${QMAKE_FULL_VERSION}</string>
<key>LSRequiresIPhoneOS</key>
<true/>
+ <key>MinimumOSVersion</key>
+ <string>${IPHONEOS_DEPLOYMENT_TARGET}</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>UILaunchStoryboardName</key>
diff --git a/mkspecs/macx-ios-clang/Info.plist.lib b/mkspecs/macx-ios-clang/Info.plist.lib
index 044cbd3393..ce28365500 100644
--- a/mkspecs/macx-ios-clang/Info.plist.lib
+++ b/mkspecs/macx-ios-clang/Info.plist.lib
@@ -3,19 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@LIBRARY@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>@SHORT_VERSION@</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleVersion</key>
- <string>@FULL_VERSION@</string>
+ <string>${QMAKE_FULL_VERSION}</string>
<key>NOTE</key>
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
</dict>
diff --git a/mkspecs/macx-tvos-clang/Info.plist.app b/mkspecs/macx-tvos-clang/Info.plist.app
index a034826207..04aef816c2 100644
--- a/mkspecs/macx-tvos-clang/Info.plist.app
+++ b/mkspecs/macx-tvos-clang/Info.plist.app
@@ -7,7 +7,7 @@
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
- <string>@EXECUTABLE@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIcons</key>
@@ -16,25 +16,25 @@
<string>App Icon - Small</string>
</dict>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>1.0</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>AppleTVOS</string>
</array>
<key>CFBundleVersion</key>
- <string>1.0</string>
+ <string>${QMAKE_FULL_VERSION}</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
- <string>9.1</string>
+ <string>${TVOS_DEPLOYMENT_TARGET}</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
</dict>
diff --git a/mkspecs/macx-tvos-clang/Info.plist.lib b/mkspecs/macx-tvos-clang/Info.plist.lib
index 044cbd3393..ce28365500 100644
--- a/mkspecs/macx-tvos-clang/Info.plist.lib
+++ b/mkspecs/macx-tvos-clang/Info.plist.lib
@@ -3,19 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@LIBRARY@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>@SHORT_VERSION@</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleVersion</key>
- <string>@FULL_VERSION@</string>
+ <string>${QMAKE_FULL_VERSION}</string>
<key>NOTE</key>
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
</dict>
diff --git a/mkspecs/macx-watchos-clang/Info.plist.app b/mkspecs/macx-watchos-clang/Info.plist.app
index d918704491..47f5a58d5e 100644
--- a/mkspecs/macx-watchos-clang/Info.plist.app
+++ b/mkspecs/macx-watchos-clang/Info.plist.app
@@ -7,21 +7,23 @@
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
- <string>@EXECUTABLE@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>1.0</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleVersion</key>
- <string>1.0</string>
+ <string>${QMAKE_FULL_VERSION}</string>
+ <key>MinimumOSVersion</key>
+ <string>${WATCHOS_DEPLOYMENT_TARGET}</string>
<key>NOTE</key>
<string>This file was generated by Qt/QMake.</string>
<key>UISupportedInterfaceOrientations</key>
diff --git a/mkspecs/macx-watchos-clang/Info.plist.lib b/mkspecs/macx-watchos-clang/Info.plist.lib
index 044cbd3393..ce28365500 100644
--- a/mkspecs/macx-watchos-clang/Info.plist.lib
+++ b/mkspecs/macx-watchos-clang/Info.plist.lib
@@ -3,19 +3,19 @@
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
- <string>@LIBRARY@</string>
+ <string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIdentifier</key>
- <string>@BUNDLEIDENTIFIER@</string>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>@SHORT_VERSION@</string>
+ <string>${QMAKE_SHORT_VERSION}</string>
<key>CFBundleSignature</key>
- <string>@TYPEINFO@</string>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
<key>CFBundleVersion</key>
- <string>@FULL_VERSION@</string>
+ <string>${QMAKE_FULL_VERSION}</string>
<key>NOTE</key>
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
</dict>
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index a4e28b4d0c..58c51502b0 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -1821,9 +1821,55 @@
Specifies the name of the property list file, \c{.plist}, you
would like to include in your \macos, iOS, tvOS, and watchOS application bundle.
- In the \c{.plist} file, you can define some variables, e.g., @EXECUTABLE@,
- which qmake will replace with the actual executable name. Other variables
- include @ICON@, @TYPEINFO@, @LIBRARY@, and @SHORT_VERSION@.
+ In the \c{.plist} file, you can define some variables which
+ qmake will replace with the relevant values:
+
+ \table
+ \header
+ \li Placeholder(s)
+ \li Effect
+ \row
+ \li \c ${PRODUCT_BUNDLE_IDENTIFIER}, \c @BUNDLEIDENTIFIER@
+ \li Expands to the target bundle's bundle identifier string,
+ for example: \c{com.example.myapp}. Determined by concatenating the
+ values of QMAKE_TARGET_BUNDLE_PREFIX and QMAKE_BUNDLE, separated
+ by a full stop (\c{.}).
+ \row
+ \li \c ${EXECUTABLE_NAME}, \c @EXECUTABLE@, \c @LIBRARY@
+ \li Equivalent to the value of QMAKE_APPLICATION_BUNDLE_NAME,
+ QMAKE_PLUGIN_BUNDLE_NAME, or QMAKE_FRAMEWORK_BUNDLE_NAME
+ (depending on the type of target being created),
+ or TARGET if none of the previous values are set.
+ \row
+ \li \c ${ASSETCATALOG_COMPILER_APPICON_NAME}, \c @ICON@
+ \li Expands to the value of ICON.
+ \row
+ \li \c ${QMAKE_PKGINFO_TYPEINFO}, \c @TYPEINFO@
+ \li Expands to the value of QMAKE_PKGINFO_TYPEINFO.
+ \row
+ \li \c ${QMAKE_FULL_VERSION}, \c @FULL_VERSION@
+ \li Expands to the value of VERSION expressed with three version components.
+ \row
+ \li \c ${QMAKE_SHORT_VERSION}, \c @SHORT_VERSION@
+ \li Expands to the value of VERSION expressed with two version components.
+ \row
+ \li \c ${MACOSX_DEPLOYMENT_TARGET}
+ \li Expands to the value of QMAKE_MACOSX_DEPLOYMENT_TARGET.
+ \row
+ \li \c ${IPHONEOS_DEPLOYMENT_TARGET}
+ \li Expands to the value of QMAKE_IPHONEOS_DEPLOYMENT_TARGET.
+ \row
+ \li \c ${TVOS_DEPLOYMENT_TARGET}
+ \li Expands to the value of QMAKE_TVOS_DEPLOYMENT_TARGET.
+ \row
+ \li \c ${WATCHOS_DEPLOYMENT_TARGET}
+ \li Expands to the value of QMAKE_WATCHOS_DEPLOYMENT_TARGET.
+ \endtable
+
+ \note When using the Xcode generator, the above \c{${var}}-style
+ placeholders are replaced directly by the Xcode build system and are not
+ handled by qmake. The \c{@var@} style placeholders work only with the qmake
+ Makefile generators and not with the Xcode generator.
If building for iOS, and the \c{.plist} file contains the key
\c NSPhotoLibraryUsageDescription, qmake will include an additional plugin
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index f7097e58dc..15ba4f0309 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -806,14 +806,23 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
t << mkdir_p_asstring(destdir) << "\n\t";
ProStringList commonSedArgs;
if (!project->values("VERSION").isEmpty()) {
- commonSedArgs << "-e \"s,@SHORT_VERSION@," << project->first("VER_MAJ") << "."
- << project->first("VER_MIN") << ",g\" ";
- commonSedArgs << "-e \"s,@FULL_VERSION@," << project->first("VER_MAJ") << "."
- << project->first("VER_MIN") << "."
- << project->first("VER_PAT") << ",g\" ";
+ const ProString shortVersion =
+ project->first("VER_MAJ") + "." +
+ project->first("VER_MIN");
+ commonSedArgs << "-e \"s,@SHORT_VERSION@," << shortVersion << ",g\" ";
+ commonSedArgs << "-e \"s,\\$${QMAKE_SHORT_VERSION}," << shortVersion << ",g\" ";
+ const ProString fullVersion =
+ project->first("VER_MAJ") + "." +
+ project->first("VER_MIN") + "." +
+ project->first("VER_PAT");
+ commonSedArgs << "-e \"s,@FULL_VERSION@," << fullVersion << ",g\" ";
+ commonSedArgs << "-e \"s,\\$${QMAKE_FULL_VERSION}," << fullVersion << ",g\" ";
}
- commonSedArgs << "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ?
- QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" ";
+ const ProString typeInfo = project->isEmpty("QMAKE_PKGINFO_TYPEINFO")
+ ? QString::fromLatin1("????")
+ : project->first("QMAKE_PKGINFO_TYPEINFO").left(4);
+ commonSedArgs << "-e \"s,@TYPEINFO@," << typeInfo << ",g\" ";
+ commonSedArgs << "-e \"s,\\$${QMAKE_PKGINFO_TYPEINFO}," << typeInfo << ",g\" ";
QString bundlePrefix = project->first("QMAKE_TARGET_BUNDLE_PREFIX").toQString();
if (bundlePrefix.isEmpty())
@@ -828,6 +837,16 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
// replace invalid bundle id characters
bundleIdentifier.replace('_', '-');
commonSedArgs << "-e \"s,@BUNDLEIDENTIFIER@," << bundleIdentifier << ",g\" ";
+ commonSedArgs << "-e \"s,\\$${PRODUCT_BUNDLE_IDENTIFIER}," << bundleIdentifier << ",g\" ";
+
+ commonSedArgs << "-e \"s,\\$${MACOSX_DEPLOYMENT_TARGET},"
+ << project->first("QMAKE_MACOSX_DEPLOYMENT_TARGET").toQString() << ",g\" ";
+ commonSedArgs << "-e \"s,\\$${IPHONEOS_DEPLOYMENT_TARGET},"
+ << project->first("QMAKE_IPHONEOS_DEPLOYMENT_TARGET").toQString() << ",g\" ";
+ commonSedArgs << "-e \"s,\\$${TVOS_DEPLOYMENT_TARGET},"
+ << project->first("QMAKE_TVOS_DEPLOYMENT_TARGET").toQString() << ",g\" ";
+ commonSedArgs << "-e \"s,\\$${WATCHOS_DEPLOYMENT_TARGET},"
+ << project->first("QMAKE_WATCHOS_DEPLOYMENT_TARGET").toQString() << ",g\" ";
if (!isFramework) {
ProString app_bundle_name = var("QMAKE_APPLICATION_BUNDLE_NAME");
@@ -843,11 +862,14 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
<< "@sed ";
for (const ProString &arg : qAsConst(commonSedArgs))
t << arg;
- t << "-e \"s,@ICON@," << icon.section(Option::dir_sep, -1) << ",g\" "
+ const QString iconName = icon.section(Option::dir_sep, -1);
+ t << "-e \"s,@ICON@," << iconName << ",g\" "
+ << "-e \"s,\\$${ASSETCATALOG_COMPILER_APPICON_NAME}," << iconName << ",g\" "
<< "-e \"s,@EXECUTABLE@," << app_bundle_name << ",g\" "
<< "-e \"s,@LIBRARY@," << plugin_bundle_name << ",g\" "
- << "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ?
- QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" "
+ << "-e \"s,\\$${EXECUTABLE_NAME}," << (app_bundle_name.isEmpty() ? app_bundle_name : plugin_bundle_name) << ",g\" "
+ << "-e \"s,@TYPEINFO@,"<< typeInfo << ",g\" "
+ << "-e \"s,\\$${QMAKE_PKGINFO_TYPEINFO},"<< typeInfo << ",g\" "
<< "" << info_plist << " >" << info_plist_out << endl;
//copy the icon
if (!project->isEmpty("ICON")) {
@@ -873,9 +895,9 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
for (const ProString &arg : qAsConst(commonSedArgs))
t << arg;
t << "-e \"s,@LIBRARY@," << lib_bundle_name << ",g\" "
- << "-e \"s,@TYPEINFO@,"
- << (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ?
- QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" "
+ << "-e \"s,\\$${EXECUTABLE_NAME}," << lib_bundle_name << ",g\" "
+ << "-e \"s,@TYPEINFO@," << typeInfo << ",g\" "
+ << "-e \"s,\\$${QMAKE_PKGINFO_TYPEINFO}," << typeInfo << ",g\" "
<< "" << info_plist << " >" << info_plist_out << endl;
}
break;