summaryrefslogtreecommitdiffstats
path: root/mkspecs/macx-ios-clang/features
Commit message (Collapse)AuthorAgeFilesLines
* iOS, mkspec: only link in qiosnsphotolibrarysupport for iOSRichard Moe Gustavsen2016-11-071-0/+9
| | | | | | | | The plugin depends on AssetLibrary.framework, which is only available for iOS. Change-Id: I798c87b57881210ced8e4a7399c1e45d130ee357 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Refactor iOS builds to facilitate tvOS portMike Krus2016-05-0511-336/+0
| | | | | | | | | | | - moved prf files to shared location (uikit, added to QMAKE_PLATFORM) - prepare some formatting (unconditional blocks mostly) to add conditions later - make device detection script more generic, passing filter strings as a parameter and returning non-os specific variables Change-Id: I61f2b77093304ff985bec9da04fda57ff296b16b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@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>
* 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>
* 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-042-67/+26
| | | | | | | | | | | | | | | | | | | | | | 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-291-28/+6
|/ | | | | | | | | | | | | | | | 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>
* fix quoting problems in ios main() renamerOswald Buddenhagen2015-03-271-6/+7
| | | | | | 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>
* 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: 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-213-8/+32
|\ | | | | | | 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-132-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-132-3/+5
| | | | | | | | | | | | | | | | | | | | | | 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-111-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | mkspec macx-ios-clang: ensure SDK version is validRichard Moe Gustavsen2014-11-111-0/+4
|/ | | | | | | | | | | | | | | | | Ensure the sdk is of recent enough version since: 1. we build Qt with the latest sdk version, so the app needs to do the same to avoid compatibility problems e.g when linking. 2. using a launch screen to support iphone6 depends on sdk 8 3. Apple requires apps that are pushed to appstore to use the latest version of the sdk. Ideally we should store the sdk version used to build Qt, and require that apps use the same version or newer. But this patch will do until that is in place. Change-Id: I18b06d09c1eda15122975b7169ca7a3372df6054 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Properly detect arm64 builds when choosing which -arch flags to passTor Arne Vestbø2014-10-281-2/+2
| | | | | | | Change-Id: Ib410584ba2c1fe342efb18eb955273090d36db8f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix iOS simulator build after 1f0823c (Rewrite simd.prf to share more code)Tor Arne Vestbø2014-07-301-0/+2
| | | | | | | | | | | Now that we rely on simd.prf for all SIMD sources (including NEON and SSE2), we need to ensure that CONFIG has the right SIMD values to match simulator. This worked before due to us checking QT_CPU_FEATURES.$$QT_ARCH and adding directly to SOURCES. Change-Id: I4ea7f559e83860eabff1948ad5d140bbb65454df Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-031-1/+1
|\ | | | | | | | | | | | | Manually fixed up: isES -> isOpenGLES src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp Change-Id: I57d2ef26c3d4a7b40ace09f4e8560b7686650ea5
| * mkspec (iOS): use QTPLUGIN.platforms=-Richard Moe Gustavsen2014-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | After bbcdccd, a deprecation warning is written to the console every time you run qmake on iOS. This change will make use of the new QTPLUGIN.platforms=- instead if the deprecated CONFIG -= import_qpa_plugin Change-Id: I51e4f9d18f6abd87512a39b3236b89d5444fd6c1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add make check target for iOSSimo Fält2014-04-151-0/+6
|/ | | | | | | | | | Enabling check target to run test apps in iPhone simulator. Task-number: QTBUG-36639 Change-Id: I700d998fe9f1a6c910431789e98e4789d820f3e4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Make Xcode debug info format controllable through a qmake variableTor Arne Vestbø2014-04-101-16/+0
| | | | | | | | | | The default is still DWARF instead of DWARF with dSYM for static builds of Qt, so that debug builds of the final application don't take forever to build due to generating the dSYM file. Change-Id: I370d800d7c959e05c1a8780c4ebf58fff250daa1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* iOS: Create folder for SUBDIR projectsMarkus Goetz2014-03-141-0/+1
| | | | | | | | | | | In case of a SUBDIR qmake project, it tried to cd into a directory that did not exist yet. I needed to run qmake twice to get it working. This fixes it. Change-Id: I6d322e9a7c96a9d82df77b9ba5f19711a8180ed0 Task-number: QTBUG-37429 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Explicitly use libstdc++ for non-C++11 static buildsTor Arne Vestbø2014-01-281-9/+0
| | | | | | | | | | | | | | | | | | | | | | Otherwise the compiler may choose libc++ based on the deployment target, and we'll end up with broken builds due to the mismatch between the two libraries, eg: Undefined symbols for architecture x86_64: "std::ios_base::Init::Init()", referenced from: __GLOBAL__I_a in libQt5Qml.a(qv4object.o) ... "std::ios_base::Init::~Init()", referenced from: __GLOBAL__I_a in libQt5Qml.a(qv4object.o) ... "std::__throw_length_error(char const*)", referenced from: ... This problem is not iOS specific, which is why the logic is moved to the more generic mac/default_post.prf. Change-Id: I28b94e614f9167fc0db84bbf1c88dd97d5629938 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* iOS: Disable tests for all other modules than qtbaseTor Arne Vestbø2014-01-251-0/+5
| | | | | | | | | Instead of sprinkling '!ios' all around the various modules. This is a bit more fine grained than the CFG_NOBUILD_PARTS += "tests" that we had in configure. Change-Id: I6ca2e5df118dfc0bb5d7b8495a3543f51dc0fa30 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* iOS: Fix simulator build by enabling SSE2 code pathsTor Arne Vestbø2014-01-182-9/+12
| | | | | | | | | | | Commit 3c375a76a13e151496ccfea0a2b3ff9fdc75784f enabled SSE2 in Qt, but we failed to build the files that implemented the SSE2 specific drawhelpers and image functions. Since we know what the iOS simulator supports and the platforms it runs on we can safely enable this ourselves without it being based on a configure test. Change-Id: I0cfc43de80068b89aa47c34ffa84ee1c1734886c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Prevent trying to use both libc++ and libstdc++Tor Arne Vestbø2014-01-161-1/+1
| | | | | | | | Static builds of Qt will automatically enable C++11 for all projects, but this happens in mac/default_post which is after our check. Change-Id: I22a01e5d876242263fa31f8a404a65905c6c1877 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* iOS: Use in-place string renaming to rename main() instead of ldTor Arne Vestbø2014-01-061-6/+1
| | | | | | | | | | | | | | | Processing the object file with ld strips away debug information for the main() function, resulting in the debugger not being able to break on specific lines of the function. It also causes issues when externing sybols in main's object file. We revert back to the approach of using the strings in-line in the object file (which is why we keep the name the same length, 'qtmn'). Task-number: QTBUG-35553 Change-Id: I8b0acee36f48ecfefa2e4fd008a842365713d985 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-051-0/+16
|\ | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_post.prf tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
| * iOS: Use DWARF instead of DWARF with dSYM for debug buildsTor Arne Vestbø2013-12-031-0/+16
| | | | | | | | | | | | | | | | | | | | Generating the dSYM file takes a long time due to our relatively large static libraries, and is not really useful for a debug build where you are likely to have the object files and Qt libraries available on your host system for debugging anyways. Change-Id: Ie7549975f271de8c56ca04bd28b29e6ed65f16cb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | iOS: Explicitly use libstdc++ when C++11 support is not enabledTor Arne Vestbø2013-12-051-0/+9
|/ | | | | | | | Otherwise Xcode might choose to use libc++, eg when the deployment target is iOS7, and this doesn't work when Qt itself was built using libstdc++. Change-Id: I0b0f36666ed318be9aae87ebaeb0d344109566ac Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* iOS: Provide default launch image for 4-inch devicesTor Arne Vestbø2013-11-291-0/+10
| | | | | | | | | | | | | | | Otherwise the application will not scale to the full resolution of the device. We copy the image into the Xcode project, since it's internal to our build system and not meant as a template to be edited by the user. For 5.3 we need to provide a proper qmake/qbs mechanism to handle launch images. Task-number: QTBUG-31431 Change-Id: Ied0b2843a78c5ea865750e0404418ced7ad27082 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* iOS: Be more specific in where we look for object files to rename mainTor Arne Vestbø2013-10-311-3/+8
| | | | | | | | | When building under Xcode we can limit the object files search to the current SDK and debug/release configuration. Change-Id: Ic405f13f46a594e3ed20d82ca6b84e7e67edebfc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Build libs (including Qt itself) for both simulator and deviceTor Arne Vestbø2013-10-301-45/+159
| | | | | | | | | | | | | | | | | | Conceptually a Qt for iOS SDK or source build should support building for both simulator and device, based on the same qmake binary and Qt libraries. Qt Creator or Xcode should then be able to use the same Qt version while still building for a single target at a time. This applies to user libraries as well, which shouldn't require switching to a different Qt when changing target platform from simulator to device. We achieve this by using Qt's exclusive_build feature, where we build for the two targets in parallel, and then teach Xcode how to choose the right library dynamically at build time. Change-Id: I06d60e120d986085fb8686ced98f22f7047c4f23 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Build simulator libraries with suffixTor Arne Vestbø2013-10-301-0/+4
| | | | | | | | Makes it possible to join two separate builds, and opens up for using exclusive builds to do this. Change-Id: I87ccbdd55511fdfbef3fe8b581f40525ebf077ed Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* iOS: Set ARCHS in Xcode project for both simulator and device SDKsTor Arne Vestbø2013-10-281-7/+13
| | | | | | | | Removes the need to pass ARCHS to xcodebuild for simulator builds. Change-Id: If15e9d387c416c5c9f83c50f5903ae0cd517ff34 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* qmake: Expose qmake arguments as QMAKE_ARGSTor Arne Vestbø2013-10-241-1/+5
| | | | | | | | Allows project files or mkspecs to call qmake recursively using system() with the right arguments, which we use to fix the ios default_post.prf. Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>