diff options
-rw-r--r-- | mkspecs/features/mac/default_post.prf | 23 | ||||
-rw-r--r-- | mkspecs/macx-clang/Info.plist.app | 10 | ||||
-rw-r--r-- | mkspecs/macx-clang/Info.plist.lib | 10 | ||||
-rw-r--r-- | mkspecs/macx-g++/Info.plist.app | 10 | ||||
-rw-r--r-- | mkspecs/macx-g++/Info.plist.lib | 10 | ||||
-rw-r--r-- | mkspecs/macx-icc/Info.plist.app | 10 | ||||
-rw-r--r-- | mkspecs/macx-icc/Info.plist.lib | 10 | ||||
-rw-r--r-- | mkspecs/macx-ios-clang/Info.plist.app | 14 | ||||
-rw-r--r-- | mkspecs/macx-ios-clang/Info.plist.lib | 10 | ||||
-rw-r--r-- | mkspecs/macx-tvos-clang/Info.plist.app | 12 | ||||
-rw-r--r-- | mkspecs/macx-tvos-clang/Info.plist.lib | 10 | ||||
-rw-r--r-- | mkspecs/macx-watchos-clang/Info.plist.app | 12 | ||||
-rw-r--r-- | mkspecs/macx-watchos-clang/Info.plist.lib | 10 | ||||
-rw-r--r-- | qmake/doc/src/qmake-manual.qdoc | 52 | ||||
-rw-r--r-- | qmake/generators/unix/unixmake2.cpp | 48 |
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; |