Add CFBundleIdentifier to the bundle Info.plist's
Refactor the current app CFBundleIdentifier support: handle frameworks as well. Add @BUNDLEIDENTIFIER@ placeholder to the OS X info.plist.lib templates. This means the Qt frameworks will now get a valid CFBundleIdentifier entry the same way as app bundles: by extracting the identifier prefix from Xcode settings and appending framework name. Task-number: QTBUG-32896 Change-Id: Ica8f28332a88e37a823c46fca7a2c373157af020 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit is contained in:
parent
6dd3f0800f
commit
ade8e0fc9b
@ -14,6 +14,8 @@
|
|||||||
<string>@TYPEINFO@</string>
|
<string>@TYPEINFO@</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@LIBRARY@</string>
|
<string>@LIBRARY@</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>@BUNDLEIDENTIFIER@</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
<string>@TYPEINFO@</string>
|
<string>@TYPEINFO@</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@LIBRARY@</string>
|
<string>@LIBRARY@</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>@BUNDLEIDENTIFIER@</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
<string>@TYPEINFO@</string>
|
<string>@TYPEINFO@</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@LIBRARY@</string>
|
<string>@LIBRARY@</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>@BUNDLEIDENTIFIER@</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
<string>@TYPEINFO@</string>
|
<string>@TYPEINFO@</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@LIBRARY@</string>
|
<string>@LIBRARY@</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>@BUNDLEIDENTIFIER@</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
<string>@TYPEINFO@</string>
|
<string>@TYPEINFO@</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@LIBRARY@</string>
|
<string>@LIBRARY@</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>@BUNDLEIDENTIFIER@</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
<string>@TYPEINFO@</string>
|
<string>@TYPEINFO@</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@LIBRARY@</string>
|
<string>@LIBRARY@</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>@BUNDLEIDENTIFIER@</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
<string>@TYPEINFO@</string>
|
<string>@TYPEINFO@</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@LIBRARY@</string>
|
<string>@LIBRARY@</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>@BUNDLEIDENTIFIER@</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -14,6 +14,8 @@
|
|||||||
<string>@TYPEINFO@</string>
|
<string>@TYPEINFO@</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>@LIBRARY@</string>
|
<string>@LIBRARY@</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>@BUNDLEIDENTIFIER@</string>
|
||||||
<key>NOTE</key>
|
<key>NOTE</key>
|
||||||
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
<string>Please, do NOT change this file -- It was generated by Qt/QMake.</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
@ -814,22 +814,26 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
|
|||||||
}
|
}
|
||||||
commonSedArgs << "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ?
|
commonSedArgs << "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ?
|
||||||
QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" ";
|
QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" ";
|
||||||
|
|
||||||
|
QString bundlePrefix = project->first("QMAKE_TARGET_BUNDLE_PREFIX").toQString();
|
||||||
|
if (bundlePrefix.isEmpty())
|
||||||
|
bundlePrefix = "com.yourcompany";
|
||||||
|
if (bundlePrefix.endsWith("."))
|
||||||
|
bundlePrefix.chop(1);
|
||||||
|
QString bundleIdentifier = bundlePrefix + "." + var("QMAKE_BUNDLE");
|
||||||
|
if (bundleIdentifier.endsWith(".app"))
|
||||||
|
bundleIdentifier.chop(4);
|
||||||
|
if (bundleIdentifier.endsWith(".framework"))
|
||||||
|
bundleIdentifier.chop(10);
|
||||||
|
commonSedArgs << "-e \"s,@BUNDLEIDENTIFIER@," << bundleIdentifier << ",g\" ";
|
||||||
|
|
||||||
if (isApp) {
|
if (isApp) {
|
||||||
QString icon = fileFixify(var("ICON"));
|
QString icon = fileFixify(var("ICON"));
|
||||||
QString bundlePrefix = project->first("QMAKE_TARGET_BUNDLE_PREFIX").toQString();
|
|
||||||
if (bundlePrefix.isEmpty())
|
|
||||||
bundlePrefix = "com.yourcompany";
|
|
||||||
if (bundlePrefix.endsWith("."))
|
|
||||||
bundlePrefix.chop(1);
|
|
||||||
QString bundleIdentifier = bundlePrefix + "." + var("QMAKE_BUNDLE");
|
|
||||||
if (bundleIdentifier.endsWith(".app"))
|
|
||||||
bundleIdentifier.chop(4);
|
|
||||||
t << "@$(DEL_FILE) " << info_plist_out << "\n\t"
|
t << "@$(DEL_FILE) " << info_plist_out << "\n\t"
|
||||||
<< "@sed ";
|
<< "@sed ";
|
||||||
foreach (const ProString &arg, commonSedArgs)
|
foreach (const ProString &arg, commonSedArgs)
|
||||||
t << arg;
|
t << arg;
|
||||||
t << "-e \"s,@ICON@," << icon.section(Option::dir_sep, -1) << ",g\" "
|
t << "-e \"s,@ICON@," << icon.section(Option::dir_sep, -1) << ",g\" "
|
||||||
<< "-e \"s,@BUNDLEIDENTIFIER@," << bundleIdentifier << ",g\" "
|
|
||||||
<< "-e \"s,@EXECUTABLE@," << var("QMAKE_ORIG_TARGET") << ",g\" "
|
<< "-e \"s,@EXECUTABLE@," << var("QMAKE_ORIG_TARGET") << ",g\" "
|
||||||
<< "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ?
|
<< "-e \"s,@TYPEINFO@,"<< (project->isEmpty("QMAKE_PKGINFO_TYPEINFO") ?
|
||||||
QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" "
|
QString::fromLatin1("????") : project->first("QMAKE_PKGINFO_TYPEINFO").left(4)) << ",g\" "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user