summaryrefslogtreecommitdiffstats
path: root/mkspecs/macx-ios-clang
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-012-16/+5
|\ | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/mac/default_pre.prf mkspecs/macx-ios-clang/features/resolve_config.prf qtbase.pro Change-Id: I65b5ebca4942a4f295bdd4ac1568e5c347333aea
| * Fix explicit -sdk iphoneos buildsJake Petroules2016-10-011-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The order in which exclusive builds are added affects the order of values in SUBTARGETS. xcodebuild.mk parses the value of SUBTARGETS in the Makefile and selects the first entry, which would always be release-iphonesimulator regardless of the build type. This obviously caused -sdk iphoneos builds to fail. This patch switches the order of in which exclusive builds are added so that the entries which are not present in a particular build type are always added last. Change-Id: I306d6f7430c1dff3d741a8c5182b7af81d000e7f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Add the ability for qmake to build Xcode asset catalogsJake Petroules2016-09-281-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This essentially emulates Xcode behavior for QMAKE_BUNDLE_DATA. This is mostly for our own internal use. No documentation is provided. Variables introduced: - QMAKE_ASSET_CATALOGS - QMAKE_ASSET_CATALOGS_APP_ICON - QMAKE_ASSET_CATALOGS_BUILD_PATH - QMAKE_ASSET_CATALOGS_INSTALL_PATH Change-Id: I9577415d637f022d05f301c5a0d799483cd2a963 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-231-1/+7
|\| | | | | | | | | | | | | Conflicts: src/corelib/global/qlogging.cpp Change-Id: I9cc8f25ad897efab6a42cb5c5161b1c9402952f0
| * Pass -quiet to xcodebuild when invoking make with -s optionJake Petroules2016-09-211-1/+7
| | | | | | | | | | | | | | | | | | | | This makes use of the new -quiet option in xcodebuild 8 to reduce the noisiness of output when make is invokved in silent mode. Change-Id: I3730dddcc1d9dae329b5ff254448533cdd573a30 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-253-3/+55
|\| | | | | | | | | | | | | | | Conflicts: src/corelib/mimetypes/qmimeprovider.cpp src/corelib/mimetypes/qmimetype.cpp Change-Id: Ib483ddb6bfc380e7c8f195feca535703814c3872
| * iOS, mkspec: update UUID parsing to support Xcode 8 betaRichard Moe Gustavsen2016-08-243-3/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "simctl list devices" has changed output format in Xcode 8 beta to include additional information placed inside parentheses for each device. And this confuses the scripts we use to parse and find UUIDs. Instead of making the inline scripts even longer and more complex, this patch will factor most of it out to a separate perl script that reads out device information on json format and parses the UUID. Change-Id: I3cd4dc276ecda030fda1932073c8bf1e0bc85deb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-132-3/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/io/qsettings.cpp src/corelib/itemmodels/qstringlistmodel.cpp tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp Change-Id: I1c6c306ef42c3c0234b19907914b19da706b4a03
| * iOS, mkspec: remove faulty SDK checkRichard Moe Gustavsen2016-08-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to check if the SDK used by a project is less than 8.0 and error out if so. The intention of the test was to avoid a situation where a project is built with an SDK that is older than the one used to build Qt, but this was obviously bogus, as Qt could have been built with a newer SDK than the oldest supported one. Also, 8.0 has been outdated for quite a while. On top of that, the check failed now that the major iOS version has two digits. So let's remove the check for now, until we can handle this in a better way. See QTBUG-37592. Change-Id: I6106b9521b5d47d9906d4db30c2ffa21794bc307 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * ios_destinations.sh: ignore devices that are marked as placeholdersRichard Moe Gustavsen2016-08-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When xcodebuild in Xcode 8 beta dumps out the available destinations, it prints an extra section called 'Ineligible destinations for the "tst_someTest" scheme'. Those destinations doesn't contain valid ID-s for the script to use, which will result in "make check" failing. This patch will filter out devices that are marked as placeholders. Change-Id: I88a25b7307e21b76c6f7764a82f67627aae8f02f Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-231-1/+1
|\| | | | | | | | | | | | | | | Conflicts: src/angle/src/libGLESv2/libGLESv2.pro src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp Change-Id: If8da4cfe8f57fea9f78e7239f378a6302c01674e
| * purge vestige: plugin_no_soname is no moreOswald Buddenhagen2016-06-221-1/+1
| | | | | | | | | | | | | | | | ... for a loooong time. it was replaced by plugin_with_soname (which is unused so far). Change-Id: Ifc377d155d6eac41e85f3a0914ed817d55b5648b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-102-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_pre.prf mkspecs/macx-ios-clang/features/sdk.prf mkspecs/unsupported/freebsd-g++46/qplatformdefs.h src/widgets/styles/qgtkstyle.cpp tests/auto/corelib/io/qdiriterator/qdiriterator.pro tests/auto/corelib/io/qfileinfo/qfileinfo.pro Change-Id: Ia943555d1e59234a66f7dc65bdfda838e40001b5
| * fix ios device&simulator builds againOswald Buddenhagen2016-06-102-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | the assumption stated in b67a0836d is actually invalid - configure sets build_all without debug_and_release there. debug_and_release does actually imply build_all, though. to make things less confusing, don't let configure inject iphonesimulator_and_iphoneos into all projects, but handle it like debug_and_release instead. Change-Id: Ib7acdc63308a538862fc603428f81aba60bca08e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | iOS: Handle old exclusive build CONFIG names for simulator and deviceTor Arne Vestbø2016-04-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | Qt Creator uses e.g. CONFIG+=iphoneos to make the default build target be device. Now that the exclusive build is named simulator_and_device to support e.g. tvOS, we need to handle the old CONFIG names for backwards compatibility. Task-number: QTBUG-52970 Change-Id: I0f864bebf11e657eb4225a182753037205f450b8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-04-251-0/+18
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/unix/compile.test configure src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java src/corelib/global/qglobal.cpp src/widgets/kernel/qapplication.cpp src/widgets/styles/qwindowsvistastyle.cpp tests/auto/corelib/kernel/qobject/tst_qobject.cpp Change-Id: I067083f34e5290aa5f7565e40c30a069cc37b83a
| * qmake: Add support for separate debug info on Apple platforms.Jake Petroules2016-04-141-0/+18
| | | | | | | | | | | | | | | | | | | | This makes the -separate-debug-info configure optional functional, which generates dSYM debug info bundles for Qt libraries on Apple platforms. Task-number: QTBUG-37952 Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Ia247674740bf450130a15db926df07fa9007e2ca Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Generalize iOS simulator and device exclusive buildTor Arne Vestbø2016-02-125-43/+40
| | | | | | | | | | | | | | | | Preparation for Apple tvOS support, which shares a lot with the iOS platform. Change-Id: I543d936b9973a60139889da2a3d4948914e9c2b2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Updated license headersJani Heikkinen2016-01-152-28/+40
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* iOS: Map `make install` to `xcodebuild build` for the iOS simulatorTor Arne Vestbø2015-11-261-0/+4
| | | | | | | | The xcodebuild tool only supports the install action for devices, not for the iOS simulator platform. Change-Id: I47e8bb7d44962bd4a433a314fa9d315ed3683ca6 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* Distinguish between Objective-C and Objective-C++ sourcesTor Arne Vestbø2015-10-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of lumping both Objective-C (.m) and Objective-C++ (.mm) sources into the same pile, passing them on to the same compiler as for C++ (CXX), with the C++ flags (CXXFLAGS), we follow Apple's lead and treat them as variants of the C and C++ languages separately, so that Objective-C sources are built with CC and with CFLAGS, and Objective-C++ sources with CXX, and CXXFLAGS. This lets us remove a lot of duplicated flags and definitions from the QMAKE_OBJECTIVE_CFLAGS variable, which in 99% of the cases just matched the C++ equivalent. The remaining Objective-C/C++ flags are added to CFLAGS/CXXFLAGS, as the compiler will just ignore them when running in C/C++ mode. This matches Xcode, which also doesn't have a separate build setting for Objective-C/C++ flags. The Makefile qmake generator has been rewritten to support Objective-C/C++ fully, by not assuming that we're just iterating over the C and C++ extensions when dealing with compilation rules, precompiled headers, etc. There's some duplicated logic in this code, as inherent by qmake's already duplicated code paths, but this can be cleaned up when C++11 support is mandatory and we can use lambda functions. Task-number: QTBUG-36575 Change-Id: I4f06576d5f49e939333a2e03d965da54119e5e31 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: filter out iWatch devices when running auto testsRichard Moe Gustavsen2015-09-112-2/+2
| | | | | | | | | | | When using Xcode7 (beta 6) "xcrun simctl list devices" will also list iWatch devices. So we need to filter them out so we don't end up picking one when building and running auto tests. This will fix a build failure when building Qt with latest Xcode7. Change-Id: Ie40489d670298ec75332a6c2b54565d55e9dbbba Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-08-061-13/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/3rdparty/forkfd/forkfd.c src/corelib/codecs/qtextcodec.cpp src/corelib/kernel/qmetatype.cpp src/corelib/tools/qset.qdoc src/gui/accessible/qaccessible.cpp src/gui/image/qpixmapcache.cpp src/opengl/qgl.cpp src/tools/qdoc/generator.cpp src/widgets/kernel/qwidget.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
| * iOS: ensure we don't overwrite a projects qmake variablesRichard Moe Gustavsen2015-07-281-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider a project that does the following: launch_images.files = $$PWD/LaunchImage.xib QMAKE_BUNDLE_DATA += launch_images In that case we end up overwriting launch_images.files in default_post, and at the same time, add launch_images a second time to QMAKE_BUNDLE_DATA. The result will be that we copy our own launch image twize into the bundle. To prevent this, prepend our internal variables with qmake_ Change-Id: I24f870874017b5388248e3bfadecd461422ffe35 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | iOS: Refactor xcodebuild exclusive build logic into standalone makefileTor Arne Vestbø2015-08-044-67/+177
| | | | | | | | | | | | | | | | | | | | | | Instead of going to qmake to generate the makefile that we want, we write the makefile directly and include it from the generated makefile. This leaves us with a single top level makefile for handling exclusive builds through xcodebuild, and covers all the various build configurations in a unified manner. It also allows for improved test device handling. Change-Id: I66851f181ac4da2c8938645e0aa95ffa0fee33c7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | iOS: Refactor default_post logic into more appropriate unitsTor Arne Vestbø2015-08-045-170/+190
| | | | | | | | | | | | | | | | | | The logic was lumped together in one big file. Now that things are more stable and the logic has proven to work over time we can split it out into the more appropriate sub-prfs. Change-Id: I9a40ad72ad9d7550b609e7f50fade1049dfa3ac1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | iOS: Use LC_MAIN to wrap user main() instead of mangling object filesTor Arne Vestbø2015-06-293-107/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With iOS 6.0 and above the LC_MAIN load command is available, which allows dyld to call the application entrypoint directly instead of going through _start in crt.o. By passing -e to the linker we can change this entrypoint to our wrapper that sets up the separate stack before entering the native iOS runloop through UIApplicationMain. As before, we call the user's main() from applicationDidFinishLaunching. By using LC_MAIN instead of messing with the object files we open up the possibility of generating Bitcode instead of object code, which can be useful for link-time optimizations, either locally or by Apple. Change-Id: If2153bc919581cd93dfa10fb6ff1c305b3e39a52 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* | Remove exec bits from files that should not be executableDmitry Shachnev2015-06-071-0/+0
|/ | | | | | | Change-Id: I66f49c6db82eadc3b11cc9b1cf01375e9596a8e6 Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* fix quoting problems in ios main() renamerOswald Buddenhagen2015-03-272-8/+11
| | | | | | Task-number: QTBUG-45125 Change-Id: I6fc724509e25a43bb229715f7e486bf9c3553f53 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Revert "iOS: Prefer debug-simulator as default test target"Tor Arne Vestbø2015-03-251-3/+0
| | | | | | | | | Likely culprit for issues in the CI when building iOS tests. This reverts commit 9a7564edeeca509308803e8ed0b5619b112162ad. Change-Id: I02ac77a305b5863c9533c97ba06aaafe8f176a22 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* iOS: Prefer debug-simulator as default test targetTor Arne Vestbø2015-03-161-0/+3
| | | | | Change-Id: I765670e8ebc3881a55767a408121743ff29f0e59 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: enable QMAKE_EXTRA_TARGETSRichard Moe Gustavsen2015-03-151-1/+0
| | | | | | | | | | Don't clear QMAKE_EXTRA_TARGETS when creating makefiles. Clearing it seems unnecessary, since it doesn't cause any harm to make the functionality available to projects. Change-Id: I470106b28124baf9df7000a7a70ee7159236c77a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: Auto-detect available devices when running make check for testingTor Arne Vestbø2015-03-091-1/+17
| | | | | Change-Id: I447d8faf421c31de68dde64211b795eaccec17a4 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* iOS: Use Xcode project to filter out environment variables instead of shellTor Arne Vestbø2015-03-091-1/+2
| | | | | | | | | Xcode has a setting for script phases to filter out the environment variables, so we don't need to use grep. Change-Id: Ica1c64321385ab3e3b47cf6f8f4d4191bd963540 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
* iOS: Enable runnnig Qt tests using 'make check' via xcodebuild testTor Arne Vestbø2015-03-071-9/+7
| | | | | | Change-Id: I1692cf3eb34726c15eaa969a369bb97a89773bfd Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Xcode: Make QMAKE_MAC_SDK_(PLATFORM_)PATH depend on active SDKTor Arne Vestbø2015-03-071-0/+18
| | | | | | | | | | | | | The Xcode project generator doesn't support exclusive builds, and always runs as the default debug/release config, and with iPhoneOS as the target platform. This means we need to parameterize the QMAKE_MAC_SDK_* build settings to depend on the currently active SDK in Xcode, so that the paths, when used in eg. linker flags, are up to date. Change-Id: I9ca10f794e14ab440d98820657758b3fd8a7cdb0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: Resolve QT depends before checking if we need to link in platform pluginTor Arne Vestbø2015-03-071-1/+2
| | | | | | | The logic failed for cases like QT += core widgets. Change-Id: Ic49c1a2314a4698b03956acbd6778b658326f3e2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: Resolve correct SDK as part of sdk.prf instead of default_post.prfTor Arne Vestbø2015-03-062-10/+12
| | | | | | | | | | The latter location resulted in the wrong SDK paths being resolved if sdk.prf was loaded before default_post.prf through an explicit load(sdk) call. Change-Id: Ia443260572fbdf5f9ed1daf558c2962703274e32 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Fixed license headersJani Heikkinen2015-02-171-1/+1
| | | | | Change-Id: Ibebe1318d1c2de97601aa07269705c87737083ee Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-112-29/+21
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* iOS: add AppIcon asset name to Xcode projectRichard Moe Gustavsen2015-01-161-0/+15
| | | | | | | | | | | | | | | | The current work-flow for adding app icons to an iOS app during deployment is not good. You basically need to specify that you want to use asset catalogs from within Xcode and add your icons there. The problem is that qmake will regenerate the Xcode project the next time it runs, and your changes will then be lost. This patch will check if the project has a valid asset catalog assigned to QMAKE_BUNDLE_DATA, and configure the Xcode project to use it for app icons. Change-Id: I06621ca46aad91de96cb23ba8ca3b1a3f1226670 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: bump QMAKE_IOS_DEPLOYMENT_TARGET to 5.1.1Richard Moe Gustavsen2015-01-081-1/+1
| | | | | | | | AppStore validation requires deployment target to be at least 5.1.1 for 64-bit applications. Change-Id: I4d857ad983e6d4059f541bff523dd63479aca849 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* iOS: Use DISTCLEAN_DEPS instead of custom distclean targetTor Arne Vestbø2014-12-021-2/+1
| | | | | Change-Id: I1fb6dc4c9ef3623f58a9c8412499df7b9f9ff9bf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* macx-ios-clang: only provide default LaunchScreen.xib if using Xcode 6Richard Moe Gustavsen2014-11-281-7/+11
| | | | | | | | | | | | | | | If using an older version of Xcode, Xcode will sometimes complain that LaunchScreen.xib uses auto layout while the project at the same time has deployment target set to 5.0 (where auto layout is not supported). This is a bug in Xcode really, since LaunchScreen.xib will only be used when running on iOS 7 (otherwise a LaunchImage will be used). This has been fixed in Xcode 6. This patch adds a check for this early on. Change-Id: Ie612c25b413add23e15fc3cb4f9e30bb5292369d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Merge remote-tracking branch 'origin/5.4.0' into 5.4Frederik Gladhorn2014-11-217-13/+88
|\ | | | | | | Change-Id: I95f235a66ce2e9b1fa435c0f911c6f7e811755f0
| * iOS: Tell Xcode to not build universal app binaries for debug buildsTor Arne Vestbø2014-11-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | You're likely to only target/develop on one device at a time, so we only need to build for one architecture at a time. Switching device in Xcode will switch the active architecture as well, so the only case where you'll need a universal debug build is if you are creating a debug package for testers. Change-Id: I4f37f5c982082c42836749d1e9fbe5ef91138912 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
| * iOS: Enable fat builds containing both armv7 and arm64 slicesTor Arne Vestbø2014-11-133-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apple will from February 1, 2015, require all applications uploaded to the App Store to be built for both 32-bit (armv7/s) and 64-bit (arm64). https://developer.apple.com/news/?id=10202014a We enable fat Qt binaries by passing both -arch armv7 and -arch arm64 to clang, which takes care of lipoing together the two slices for each object file. This unfortunately means twice the build time and twice the binary size for our libraries. Since precompiled headers are architecture specific, and the -Xarch option can't be used with -include-pch, we need to disable precompiled headers globally. This can be improved in the future by switching to pretokenized headers (http://clang.llvm.org/docs/PTHInternals.html). Since we're enabling 64-bit ARM builds, we're also switching the simulator builds from i386 to fat i386 and x86_64 builds, so that we are able to test 64-bit builds using the simulator, but we're keeping i386 as the architecture Qt is aware of when it's building for simulator, as we need the CPU features to match the lowest common denominator. Change-Id: I277e60bddae549d24ca3c6301d842405180aded6 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * iOS: Allow ARCHS to be specified at build time for multi-arch buildsTor Arne Vestbø2014-11-131-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building all architectures of a multi-arch build during Qt development is in most cases not needed, so we expose a way to limit the archs we build by passing ARCHS="subset of archs" to make, similar to how you can pass ARCHS to xcodebuild. If the subset doesn't match any of the valid architectures for the target, it will fall back to the default architectures, so it's safe to pass eg. ARCHS="armv7 i386" to make, even if building for both simulator and device. The variable may also be exported to the environment for more persistent limits on which architectures to build. Change-Id: I47b10bc9d743f0301efff4181d6881ae140d557f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| * iOS: Ensure that the rename-main logic works for multi-arch buildsTor Arne Vestbø2014-11-133-6/+12
| | | | | | | | | | | | | | | | | | | | | | We need to tell Xcode which architectures it should set up pre-link dependencies for, as well as run the rename script in the root object file directory. We pass it the current architectures so that we only rename main() for simulator or device, not both. Change-Id: I095d7c8a22ff0cb2ce872c9a86c93a070c1fcc65 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| * iOS: let qmake generate default LaunchScreen.xibRichard Moe Gustavsen2014-11-113-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | iOS8 will check if the app has a LaunchScreen.xib to determine if it supports iPhone6/6+ (scale factor and resolution). So we follow the same pattern as we do with the launch image for iPhone5, and generate a default LaunchScreen.xib. The xib file in this patch is a copy of a default file generated by a native Xcode project (with quotes escaped), but with the text label set to be $$TARGET. Change-Id: I163ab48b6f4edea4cc1f6840a1f3d8b3cc0326db Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>