summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/ios
Commit message (Collapse)AuthorAgeFilesLines
* Move common/ios configurations into common/uikitJake Petroules2016-08-222-54/+0
| | | | | | | | These actually affect all UIKit platforms (tvOS, watchOS), not just iOS. Change-Id: I2b45ebecb10d11e33d301071093b5342ce101816 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Add support for Apple tvOSMike Krus2016-05-171-41/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Pass -xplatform macx-tvos-clang to configure to build. Builds device and simulator by default. Added ‘uikit’ platform with the common setup. Also added QT_PLATFORM_UIKIT define (undocumented). qmake config defines tvos (but not ios). tvOS is 64bits only (QT_ARCH is arm64) and requires bitcode to be embedded in the binary. A new ‘bitcode’ configuration was added. For ReleaseDevice builds (which get archived and push to the store), bitcode is actually embedded (-fembed-bitcode passed to clang). For all other configurations, only using bitcode markers to keep file size down (-fembed-bitcode-marker). Build disables Widgets in qtbase, and qtscript (unsupported, would require fixes to JavaScriptCore source code). Qpa same as on iOS but disables device orientation, status bar, clipboard, menus, dialogs which are not supported on tvOS. Change-Id: I645804fd933be0befddeeb43095a74d2c178b2ba Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Updated license headersJani Heikkinen2016-01-151-14/+20
| | | | | | | | | | | 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>
* Distinguish between Objective-C and Objective-C++ sourcesTor Arne Vestbø2015-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: remove unrecognized compiler flag '-fno-arc-abi'Richard Moe Gustavsen2015-06-291-1/+0
| | | | | | | | | | | Clang does not recognize the compiler flag 'no-arc-abi' anymore. This causes a warning, which will fail the build. Not sure what the flag does, as I cannot find any documentation for it, even after grep-ing through the sources (both clang-600.0.57 and clang-503.0.38) Change-Id: I39fae3fd108a8edb978f4264935a069cce4c302a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | 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>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* purge vestiges of opengl es 1 supportOswald Buddenhagen2014-04-041-5/+0
| | | | | | | | amends 0d5170256c1. Change-Id: Ifa178d38f602bb7c66ef13334673ff47e332af5b Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-231-7/+0
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/corelib/json/qjsonwriter.cpp src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbkeyboard.cpp Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
| * Cache Xcode and SDK settings in .qmake.cache if it existsTor Arne Vestbø2013-05-081-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Xcode and SDK settings are expensive to resolve, as we're using system() calls to resolve them. We now try to detect the presence of a .qmake.cache file (and inform the user that creating one would be a good idea), and use the file to cache the various settings after resolving them. The Xcode logic had to be moved form xcode.conf as part of the mkspec, into default_pre/post.prf, so that we could cache() the resolved values. Task-number: QTBUG-30586 Change-Id: Ib5368cfee6f7e4a4a33f6be70d0e20d96896fe56 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | iOS: Specify framework dependencies in the right placeTor Arne Vestbø2013-03-311-3/+0
|/ | | | | | | | | Instead of unconditionally linking to Foundation, UIKit, and QuartzCore, we leave the dependencies for the iOS platform plugin, where the libs are actually used. Change-Id: Ie8cfad2c8230d1f1af6933b831e443fecb0c93f1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Fix '=' alignment and replace tabs in *.conf (whitespace only change)Axel Waggershauser2013-03-271-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all tabs with proper space characters and consistently align the '=' characters. The default alignment for the '=' of 25 characters has been left as is to get a minimal diff. Lines with the '=' further to the right and those belonging to 'proper code (TM)' have not been touched. The work was mostly done using the following python script (might come in handy again...): import sys, re indent_eq = 25 + 0*4 # 25 characters was the most widely used indentation for the '=' character p = re.compile(r'(\w+)[ \t]*([\-\+]?)(=$|= )[ \t]*(.*$)') for fn in sys.argv[1:]: with open(fn, 'r+') as f: lines = [] nl_count = 0 continuity_indent = None for l in f: m = p.match(l) nl = l if m: n_spaces = max(m.start(3), indent_eq - 1) - len(m.group(2)) - len(m.group(1)) if m.group(2) and m.start(2) >= indent_eq-1 and m.start(2) % 4 == 0: n_spaces -= 1 # left-shift '+=' by one if the '+' is aligned to a multiple of 4 n_spaces = max(1, n_spaces) # we want at least one space before '='/'+=' nl = m.group(1) + ' '*n_spaces + ''.join(m.group(2,3,4)) + '\n' continuity_indent = nl.find('= ') + 2 if l[-2] == '\\' else None # remember indent on '\\$' elif continuity_indent: nl = ' '*continuity_indent + l.lstrip() if l[-2] != '\\': # check when to stop the continuation continuity_indent = None elif l.startswith('#'): nl = l.expandtabs(2) if l != nl: nl_count += 1 lines.append(nl) if nl_count > 0: print fn, nl_count, len(lines) f.seek(0) f.writelines(lines) f.truncate() Change-Id: I1d2870d0a2fe2e30d398c140fe523e69dd20c81b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* iOS: Don't warn about using C++11 extensionsTor Arne Vestbø2013-03-141-3/+0
| | | | | | | | | | Qt uses a lot of minor C++11 extensions such as long long, commas at the end of enumerator lists, and extra ';' outside of a functions, and not all of these can be silenced, so we build without warnings for C++11 extensions, since we plan to enable C++11 at some point anyways. Change-Id: I3ede2fb653c25475a3bd2b860c0c80c6cf6abef5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use tools from the SDK's toolchain instead of the ones in /usr/binTor Arne Vestbø2013-03-131-13/+5
| | | | | | | | | | | | | | | | | | | | For Mac OS X we currently specify build tools without an absolute path, which means we end up using the ones in /usr/bin. This is wrong, we should be using the tools from the toolchain of the chosen SDK. For iOS we do specify an absolute path, by resolving the toolchain path in the iOS makespecs. To solve the situation on Mac OS X, we move the logic of resolving the toolchain path to sdk.prf, and share it between OSX and iOS. For configure we need to duplicate some of the logic from sdk.prf, as configure pulls out QMAKE_CC and QMAKE_CXX for running some initial tests and building qmake. The new macSDKify function also solves the issue of missing sysroot and deployment version in the flags. Change-Id: Ib1d239c9904cf3ccee5214b313cf6205869a1462 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* iOS: Share common Mac qplatformdefs.h instead of duplicating codeTor Arne Vestbø2013-03-051-93/+0
| | | | | | | | | If there are minor differences later on we can put them in the mkspecs' forwarding header and/or introduce a macx specific file. Change-Id: I2a93107838e0d8434c0d444db3064e0a462fa656 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Move Xcode version extraction to xcode.confTor Arne Vestbø2013-03-041-2/+2
| | | | | Change-Id: I11aaf3191cdda6bb88d3e1ba3aba56310720f0a1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* iOS: Bump max Xcode version to 4.6Tor Arne Vestbø2013-02-271-1/+1
| | | | | | | | | | | We need to figure out where to draw the line when it comes to warning about unknown compiler (Clang), Xcode, or SDK versions, but for now building with Xcode 4.6 should not be an issue. We'll have to revisit this and test with the full set of compiler/Xcode/SDKs we support before the final release. Change-Id: Iac3ec3a25c0f7618b2c3714657d147f17f834d97 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Silence warning about 'long long' being a C++11 extensionTor Arne Vestbø2013-02-271-2/+5
| | | | | | | | At some point we want to build with C++11 support, but for now we silence the warning. Change-Id: I40deb0925d459eaf06e324dddc0a2e9893c57615 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Build ios platform plugin when appropriateTor Arne Vestbø2013-02-271-0/+2
| | | | | | | | | Defining QT_QPA_DEFAULT_PLATFORM_NAME in qplatformdefs.h is not neccecary, as qconfig.h will already have this define written by configure. Change-Id: I89d9191533f6b4e6bfd5eade6cc0dced02b50f81 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Write default code signing identify for iOS in Xcode generatorTor Arne Vestbø2013-02-271-0/+2
| | | | | | | Change-Id: Ic04da6063863585665c9133caba0279ba478fbb4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Ian Dean <ian@mediator-software.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Replace device and simulator makespecs with single makespecTor Arne Vestbø2013-02-274-139/+9
| | | | | | | | | | And use configure's -sdk argument to choose between the iphoneos and the iphonesimulator SDK. xcodebuild -showsdks can be used to list the available SDKs. Passing an SDK without a version postfix implies the latest version of the SDK. Change-Id: I881df754d522fc91aaa16ba3e39cf0c37a21a1f1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Include clang-mac.conf instead of defining precompile flags ourselvesTor Arne Vestbø2013-02-261-6/+0
| | | | | Change-Id: I1a3b9ad16e54457068d3451c066a8d7965a622df Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Use sdk.prf to set -isysroot based on the chosen SDKTor Arne Vestbø2013-02-262-13/+4
| | | | | Change-Id: I4683ab422ad886b86604fbd68f8dfb4cf6bfc06e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Move device/simulator conditionals out of common mkspecsTor Arne Vestbø2013-02-264-24/+20
| | | | | | | | Instead we deal with any differenced by setting variables in the top level makespecs, that are used by the common makespec configs. Change-Id: Iae1fb5fef8c95778511ed400008731989b446f3c Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Simplify arch detection/configuration in mkspecTor Arne Vestbø2013-02-261-34/+6
| | | | | | | | NEON detection is handled by configure's arch test, and THUMB2 is the default for ARMv7. Change-Id: I8ec3ce0ec6af9ad8d9509890aa1f8c87e18364d5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Bump arch and iOS SDK, now that we require GLES 2.xTor Arne Vestbø2013-02-265-112/+23
| | | | | | | We now require SDK version 4.3 or above, and armv7. Change-Id: I4766e277a3a4a32712bf2ec27fede694e8316c95 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Simplify SDK resolving in mkspecTor Arne Vestbø2013-02-262-88/+42
| | | | | | | | There's no need to duplicate the logic for device vs simulator. The only difference is the iPhoneOS/iPhoneSimulator name. Change-Id: I87c57fa785279a3ee258b76fdac8317e52e7daa2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Get rid of GCC/LLVM makespecs for iOSTor Arne Vestbø2013-02-265-69/+5
| | | | | | | We only want to support Clang. Change-Id: Id0558df905106158f4c25ca10462bf4ca41e1e45 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Remove hard-coding of Xcode /Developer path in common/ios mkspecsTor Arne Vestbø2013-02-262-47/+22
| | | | | | | | | | | | We can use xcode-select -print-path to get the /Developer directory. This also removes the need for the "legacy" makespecs, which only differ from their non-legacy counterparts in the location of the Xcode developer directory. Change-Id: Ia9245033a4b82cc3933226bf998f07177b60871f Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Remove ifdefs for supporting Mac OS <= 10.5Tor Arne Vestbø2013-02-181-4/+0
| | | | | | | | Qt5 requires Mac OS 10.6, so we can remove checks such as if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 Change-Id: Iea21727a277291148704ecf9677ed0b68c24920f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* purge QMAKE_LIBS_OPENGL_QTOswald Buddenhagen2013-02-131-1/+0
| | | | | | | | | | it differed from QMAKE_LIBS_OPENGL only for the irix/sco/unixware -cc specs for not entirely obvious reasons. as all these specs are obsolete, remove it. Change-Id: I7d50ffa11ff830371ea52c9ebe25e1f1bc56b307 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-183-3/+3
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-223-74/+74
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Update iOS 'clang' mkspec for Xcode 4.5Ian Dean2012-09-111-2/+2
| | | | | | Change-Id: If472bd60fa8ddc9d3af394a904a52290a1c308b6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Removed some unused #defines from iOS qplatformdefs.hIan Dean2012-09-111-3/+0
| | | | | | | | | Removed QT_GUI_DRAG_DISTANCE & QT_GUI_DOUBLE_CLICK_DISTANCE from the iOS qplatformdefs.h header as these values are dependant on display pitch and should be calculated by the platform plugin. Change-Id: I00c377483ad73cad19a2fe729cb3f45e9271e3ac Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Added mkspecs for iOS.Qt4iOS2012-04-269-0/+619
Modified common MacOS gcc config for iOS compatibility. Added iOS mkspecs for iOS devices and simulator using G++, LLVM-G++ or CLANG compilers. Change-Id: If0a0b1a3ce4e0dc4db319a315e227a9d31549399 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>