Commit 41965347 authored by Jake Petroules's avatar Jake Petroules

Fix the deployment target problem once and for all

Instead of hardcoding the value of LSMinimumSystemVersion in Info.plist
where we will always forget to update it (and since Qt Creator can be
built with multiple versions of Qt, it will almost certainly be wrong
for one of those versions), automatically determine the value from
QMAKE_MACOSX_DEPLOYMENT_TARGET, which is authoritative.

This should prevent mishaps where users try to run Qt Creator on older
OS versions and receive a crash dialog instead of the friendly "This
app requires a newer version of macOS" message that a properly set
LSMinimumSystemVersion value will induce.

The Qbs build is not affected by this problem, as Qbs automatically
handles the minimum deployment target even when a custom Info.plist is
specified.

The solution chosen in this patch was used instead of QMAKE_SUBSTITUTES
because the Qbs build also uses the Info.plist input file and it would
break the Qbs build if the quotes were to be escaped, since it would
become invalid XML.

Change-Id: I20625a2fae546c6597a567f28864b12917e8ac39
Reviewed-by: Oswald Buddenhagen's avatarOswald Buddenhagen <oswald.buddenhagen@qt.io>
parent b80d5c1c
......@@ -253,6 +253,6 @@
<key>CFBundleShortVersionString</key>
<string>@SHORT_VERSION@</string>
<key>LSMinimumSystemVersion</key>
<string>10.8</string>
<string>@MACOSX_DEPLOYMENT_TARGET@</string>
</dict>
</plist>
......@@ -53,7 +53,12 @@ win32 {
INSTALLS += icns
}
}
QMAKE_INFO_PLIST = Info.plist
infoplist = $$cat($$PWD/Info.plist, blob)
infoplist = $$replace(infoplist, @MACOSX_DEPLOYMENT_TARGET@, $$QMAKE_MACOSX_DEPLOYMENT_TARGET)
write_file($$OUT_PWD/Info.plist, infoplist)
QMAKE_INFO_PLIST = $$OUT_PWD/Info.plist
}
target.path = $$INSTALL_APP_PATH
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment