summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* fix doc builds in paths with spacesOswald Buddenhagen2016-01-081-7/+7
| | | | | | Change-Id: Ie76411e3a4a8df69ff9b12a18480d1a987fac639 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Revert "use bindir instead of libdir when launching tools on windows"Oswald Buddenhagen2016-01-081-4/+2
| | | | | | | | | | | | | | | proper prefix builds don't have the redundant .dlls in bin (the copy step is simply omitted), so this is broken. the change would have to be done atomically with making DLLDESTDIR sane. This reverts commit 9b2e98245a95bec9179edf648d7b562d2d1cb692. Task-number: QTBUG-50065 Change-Id: I9ce0a2d1147a1a2d4bd2f22e619d5c737864a637 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Tim Blechmann <tim@klingt.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* add always_prepend mode to qtAddToolEnv()Oswald Buddenhagen2016-01-081-3/+8
| | | | | | | | | this is just an optimization/clarification: variables which are known to be never empty (like PATH) can be extended with less convoluted code. Change-Id: Ib365bbec8301673ed1c874979b4de19bc983dab1 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* rewrite qtAddToolEnv()Oswald Buddenhagen2016-01-082-14/+56
| | | | | | | | | | | | | | | | | | | | | the primary purpose is making env var prepend mode work for unset variables on windows. this is achieved by using a conditional and delayed variable expansion. however, the latter is disabled by default and can be locally enabled only in batch files. therefore, write wrapper scripts and substitute them for the actual commands. we do this also on unix, both for consistency and simply because the commands look much less confusing. this change is slightly backwards-incompatible, as invoking qtAddToolEnv() multiple times on the same command will now make a total mess. also, invoking it on a command that contains 'make' macro expansions isn't a good idea, so testcase.prf needed an adjustment. the function is an undocumented internal, so Nobody Should Care (TM). this also reverts 80ebedecf9, as it's obsolete now. Change-Id: I8394b77868b495abcf27b688996ca74c40b80994 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fixed recently added "excess colon in front of brace" qmake warningOliver Wolff2016-01-064-5/+5
| | | | | Change-Id: I3a650bb4e27cad00f639e6445c36fa8b69edb5b9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Do not use gold linker on WindowsOrgad Shaneh2016-01-051-1/+0
| | | | | | | | Gold only supports ELF binaries, not Windows PE. Change-Id: I72b0f944566bbc8713c71b5cd01f217ab55c8103 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* winrt: Use winsock2 API for hostname resolution on WinRT/WinPhoneOliver Wolff2016-01-052-12/+2
| | | | | | | | | | | | | | | That API has been available for WinRT and Windows Phone for some time now. By using it to get the machine name and for hostname resolution we can get rid of some winrt-only code and use qhostinfo_win.cpp on WinRT and Windows phone as well. Additionally the required capability was added to tst_qhostinfo so that this auto test can be run without any manual editing. Change-Id: I63fa5521bf8cdb0c919bd5a0100ea977c865622a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* Remove CMake warningHarald Fernengel2015-12-281-2/+2
| | | | | | | | | | | | CMP0054 changes CMake behavior wrt. interpreting quoted arguments in if() statements. This change ensures that CMP0054 dev warnings are never emitted no matter how polluted the environment, e.g. even if the variable ${5.5.1} is defined and no matter whether CMP0054 is set to OLD, NEW or undefined. Change-Id: Iee008497b333e2db23fb1adbf8b02252314ffa8a Reviewed-by: Kevin Funk <kfunk@kde.org> Reviewed-by: Stephen Kelly <steveire@gmail.com>
* Fix version script generation when cross-compiling from Windows to QNXMatt Hoosier2015-12-212-4/+18
| | | | | | | | | | | | | | | | | | | Recent versions of Qt have apparently added sufficient numbers of headers that the command lines used to spawn a custom header- parsing tool, started overflowing Windows' maximum command-line length. This change restructures the mechanism to use a GCC-style command- line arguments file rather than passing filenames all directly in the argv[] vector. Although QNX is the usual ELF target whose cross-build is supported on Windows, the mechanics introduced in this patch happen to affect all other ELF Unix systems' builds too. Change-Id: I5a7383cf9f2ebf9dffde8dbfdcdeca888265e085 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* ensure that we don't leak QT_TOOL_ENV beyond qt_tool.prfOswald Buddenhagen2015-12-161-0/+2
| | | | | | | | the variable is later re-used by qtPrepareTool(), so the tools used to build the tool would get excess variables passed. Change-Id: Ib1bdd2211b4a8615e2be9ba0310822f373f5efb0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* don't call qtAddToolEnv() directlyOswald Buddenhagen2015-12-152-13/+15
| | | | | | | | qtPrepareTool() does it anyway, so this saves repeated manipulations. for now, this is just nicer, but soon it will be a requirement. Change-Id: I5184e0e4597c6d5a4d7dd4cc4d81e7f742a79fc8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* automatically put TESTDATA into RESOURCES on android/ios/winrtOswald Buddenhagen2015-12-112-1/+18
| | | | | | | | | QFINDTESTDATA is already prepared to find it there. Change-Id: I467392786ce6bcfbf1bd0b6079f60c9df06834b1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* Add generic g++ spec for arm devices.Christian Stromme2015-12-092-0/+43
| | | | | | | A minimal device spec that can be used to build for arm devices. Change-Id: I4c9949d8cc59ad534fc7617034f6beb40d6a987e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Use CROSS_COMPILE when setting PKG_CONFIG.Christian Stromme2015-12-091-0/+3
| | | | | | | | If CROSS_COMPILE is set on a Debian multiarch platform, then PKG_CONFIG should be set the same way as the other cross compilation tools. Change-Id: Id359a6bbdcbf8a136a0268a82301fc086a2adcfe Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Updating the Toradex Colibri mkspecAndreas Holzammer2015-12-031-9/+6
| | | | | Change-Id: I7d7256689e2b6ce4fa8930b62397b2d48d8984d6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* enforce no-undefined on all platforms that support itOswald Buddenhagen2015-12-021-1/+1
| | | | | | | | | no idea why it was limited to linux. the variable is already empty on platforms which don't support it anyway. also, for plugins, it's consistently enforced as well. Change-Id: I117f4988a2e301ca98cdc088188d6f8c44ea0ba5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Rename ANGLE libs in order to not conflict with other ANGLE libsJan Arve Saether2015-12-017-10/+26
| | | | | | | | | | | | | | | | This is needed to be able to use Qt (with dynamic ANGLE) in a plugin while the host runs a different version of Qt (and ANGLE). In addition to changing the LIBEGL_NAME and LIBGLESV2_NAME variables you also need to update the value of the LIBRARY definition in the .def files for ANGLE: qtbase/src/3rdparty/angle/src/libGLESv2/libGLESv2[d?].def qtbase/src/3rdparty/angle/src/libGLESv2/libEGL[d?].def Task-number: QTBUG-48431 Change-Id: Idd00d039ba3e20cc0ec7496bee36ed1c90383b0d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* msvc: Introduce base config file for all targetsMaurice Kalinowski2015-11-306-49/+65
| | | | | | | | | | | | | | Visual Studio version specific changes have been added to msvc- desktop.conf which is not used in WinRT or Windows Phone related builds. Hence take a similar approach to gcc and introduce msvc-base to be used by all configurations for common settings. For WinRT this will only be applied to msvc2015 and later on to not introduce any regressions or behavior changes for previous versions. Change-Id: Ib1a4d539d46d788470c00cb5969fee74a803bd67 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* make force_independent live up to its nameOswald Buddenhagen2015-11-301-6/+5
| | | | | | | | | | | | | | | don't install the module .pri file into qtbase even when doing a non-prefix build. this has no effect on modules built as part of a top-level build, as they announce themselves via .qmake.super anyway. however, modules built separately become unavailable unless QMAKEPATH or QMAKEMODULES is set. this is deemed not relevant by the original audience of this feature (the qtwebkit team). Change-Id: I14c170b2c5dbb99608939aef1a541563d5b755d9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* use bindir instead of libdir when launching tools on windowsOswald Buddenhagen2015-11-261-8/+10
| | | | | | | | longer term, the redundant .dlls from the libdir will hopefully disappear. short term, this is a workaround for CI brokenness. Change-Id: Ia30173355f3aca222d4ca40e7a38c2cf535bbc03 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* build QML plugins with relative RPATH as wellOswald Buddenhagen2015-11-261-0/+2
| | | | | | | | amends 967372c97. Change-Id: I898950d6847e43d565748cd8d1ea583cf5ca5c9d Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@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>
* remove redundant "mac" checksOswald Buddenhagen2015-11-194-5/+5
| | | | | | | | qt_framework and {app,lib}_bundle imply darwin, so there is no point in testing for it. Change-Id: I9fe48c26c8e271a5575b17e92df8674d3c3a3204 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* fix the determination whether to build a module as a frameworkOswald Buddenhagen2015-11-192-6/+4
| | | | | | | | | | | | CONFIG+=qt_framework is actually put into qconfig.pri, so it's always set in framework builds. things (sometimes) worked only by virtue of the qt_framework checks being in "else" branches of "static" checks. use lib_bundle instead, which triggers the actual framework build anyway. amends b72d1db44. Change-Id: Ib725c43476d9fb38bad940ce09905d29ff3edfa3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Remove hardcoded capabilities in Windows 10 manifest templateMaurice Kalinowski2015-11-192-4/+5
| | | | | | | | | | | | | | While all apps need to have internetClient as a capability, the option to provide further capabilities via qmake has been removed in the template. Instead we add the required items inside the prf and keep the manifest template as generic as possible. Task-number: QTBUG-49504 Change-Id: If26b9da277a5269a57b34e74c146b40b1b64d091 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
* centralize determination whether a module is built as a frameworkOswald Buddenhagen2015-11-172-3/+6
| | | | | Change-Id: Ie5f8ab6bb789536707050f0fd83b953650028cf2 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* don't create .pc files for frameworks and internal modulesOswald Buddenhagen2015-11-171-1/+1
| | | | | | | | | | frameworks are currently broken anyway, and we don't create .pc files for the private part of public modules, so creating them for entirely private modules is just inconsistent. Change-Id: I98da8def73d72ac69b9b246687dce6b1fd150f61 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* don't create distclean targets in minimal syncqt modeOswald Buddenhagen2015-11-171-3/+6
| | | | | | | | the projects which use full mode with the named modules have them. Change-Id: I3b9383d1cc2b43411c25690a5e35e7e84a55aa23 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* (re-)move qt build specific dependency checks from generic pathsOswald Buddenhagen2015-11-172-10/+3
| | | | | | | | | | | the check whether a module depends on itself should be done by the code which *builds* modules, not which *uses* them. the check whether a plugin tries to use itself seems kinda pointless in the first place, so just remove it. Change-Id: I89b357dae7d7979d131b6824f197e7088047272f Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* make a proper header-only module for QtZlibOswald Buddenhagen2015-11-171-2/+3
| | | | | | | | | | that way other modules can use the headers without hacks. this required making the base directory for paths in headers.pri configurable in syncqt. Change-Id: Id35cfe05bcf4c576d3f2d0d8d09590a5e23d21d3 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* unbreak relative rpaths on darwinOswald Buddenhagen2015-11-171-1/+1
| | | | | | | | | | | check the right variable. amends 8e846b33. Task-number: QTBUG-49369 Change-Id: I9108d13b5e9c93aadaa802a62ba64816d81448d5 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* don't create version script for header-only modulesOswald Buddenhagen2015-11-171-1/+1
| | | | | | | | there is nothing to link with it anyway. Change-Id: I2e942d24bb39855b3682f3e8d85cb6abca75cb61 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* introduce -optimized-tools optionOswald Buddenhagen2015-11-172-2/+2
| | | | | | | | | | | | | | instead of building host tools always in debug mode, follow the overall build type, and provide an option to override it. this supersedes the pre-existing -optimized-qmake option. however, that option never existed in the windows configure, and this legacy continues as far as qmake is concerned (msvc builds of qmake are always somewhat optimized, but not mingw builds). Change-Id: I42e7ef1a481840699a8dffff13fec2626af19cc6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* winrt: Launch application on Windows 10 Mobile finalMaurice Kalinowski2015-11-143-7/+6
| | | | | | | | | | | | | Between the very latest images linking against kernel32.lib has been forbidden. This is completely undocumented and only throws a "dependent dll not found" error. Instead we should link against OneCore for msvc2015, which can be used for Windows 10 Desktop and Mobile. Task-number: QTBUG-49349 Change-Id: I21d32a92dfd41548ca563d3e56c623a0cb297588 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* RaspberryPi: Enable building with OpenVG supportAndy Nichols2015-11-042-1/+7
| | | | | Change-Id: Ib803e1d98b5d81d142b20d18e92d88942b9c4af5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* RaspberryPi2: Support building Qt for Raspbian/DebianAndy Nichols2015-11-041-0/+1
| | | | | | | | | | | | | Raspbian/Debian require a toolchain with the multiarch patches so we need to add deb-multi-arch to the DISTRO_OPTS variable for pkgconfig to work correctly. The Raspberry Pi 1 mkspec has this already and can be used to build Qt for both versions of the Pi, but the Raspberry Pi 2 mkspec is missing this, and would not be usable in its current state for building for Raspbian/Debian which is the most popular distro for the Raspberry Pi. Change-Id: I6a7a08059f9f91da524b5f51e0697115ef684f30 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Workaround: don't create ELF version scripts for AndroidThiago Macieira2015-10-291-2/+2
| | | | | | | | | | | | | Somehow qmake doesn't add the correct rules for the Android makefiles, so the build fails when cross-compiling from Windows. The reason for that is unknown (could be related to that "qt_android_deps" config, but that isn't used anywhere in qmake or the buildsystem). This isn't likely to be a problem, since there are no global installs of Qt on Android. Change-Id: I1d0f78915b5942aab07cffff140f95ce32324030 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add qgltf support to qmakeAndy Nichols2015-10-262-1/+13
| | | | | | | | | | | | qgltf is a tool provided by the Qt3D module that enables 3D assets to be defined in qmake project files, and have them converted to an efficient binary format at build time. The qmake feature will convert all 3D assets specified by the QT3D_MODELS variable to the qgltf format and add the new model asset to the project as a Qt resource file. Change-Id: If7250d6f23a06254b1ed0e408057723763aad8c8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Place classes from private headers in the Qt_5_PRIVATE_API ELF versionThiago Macieira2015-10-202-1/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | This way, it's possible to tell which applications and libraries depend on the Qt private API and of which Qt library. Linux distributions can use this information to decide which applications need to be recompiled every time Qt itself is rebuilt. This is done by scanning all class and struct definitions in the private headers (we've already got the list from syncqt). I opted to add a new script instead of modifying syncqt because then this can run in parallel with the rest of the compilation, as opposed to during qmake time. Another advantage is that it catches modifications to the headers in between qmake executions. Since this is already Unix specific, it should be no problem to use Perl. This solution is limited to use of non-inline symbols of classes declared in private headers. It will not catch free variables (such as qsimd_p.h's qt_cpu_features), use of inlined functions or just plain use of a class/struct for accessing its data members. However, this is already better than nothing and should help Linux distributions quite a lot. And there's no way to catch the latter issue anyway. Change-Id: I049a653beeb5454c9539ffff13e3fff36400ebbd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* don't try to use relative rpaths on platforms that don't support itOswald Buddenhagen2015-10-201-1/+1
| | | | | Change-Id: I8224d429d71ccc829beb1addf592806d2edaa87b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* support relative paths in QMAKE_RPATHDIROswald Buddenhagen2015-10-203-7/+7
| | | | | | | | | | | | | | | | ... and make use of it in qt.prf. [ChangeLog][qmake][Unix] Added support for relative paths in QMAKE_RPATHDIR. Note that this technically breaks backwards compatibility, as relative paths were previously silently resolved against $$_PRO_FILE_PWD_. This was not documented and seems rather useless, so i'm not worried. Change-Id: I855042a8962ab34ad4617899a5b9825af0087f8a Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Update qversiontagging.cpp not to use too much assembler magicThiago Macieira2015-10-201-2/+6
| | | | | | | | | | | | | | | The only reason I had used them in the first place was because C preprocessor macros cannot call themselves recursively. But the magic was too magic and caused issues with some builds, so let's choose the safer option. Anyway, this solution now works for all ELF architectures, independent of the processor, whereas previously it was restricted to x86 and Linux/ FreeBSD. However, this does not apply to the assembly in qversiontagging.h. Change-Id: I42e7ef1a481840699a8dffff1404f032fc5cacb8 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* winrt: Avoid empty <Dependencies> section in manifest filesOliver Wolff2015-10-203-4/+6
| | | | | | | | | | If that section is there but empty, the manifest cannot be loaded using the App Manifest Designer in Visual Studio. Task-number: QTBUG-48648 Change-Id: I529eb2f2a690bececcf5c385b8f96e84ece363d6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* winrt: use correct winapi family defines in mkspecs and system detectionAndrew Knight2015-10-205-5/+5
| | | | | | | | WINAPI_FAMILY_APP is deprecated, so use WINAPI_FAMILY_PC_APP instead. Also, open up the phone partition for use on MSVC2015. Change-Id: I7476d71c31395b2914f5a1439e8088341976bf2f Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* Turn C++11 on by default if the compiler supports C++11Thiago Macieira2015-10-161-0/+2
| | | | | | | | | | | | | | [ChangeLog][Important Behavior Changes] qmake now enables C++11 support by default if the compiler is known to support it (unless the compiler defaults to C++14 or a later edition). To disable this, add to your .pro file: CONFIG -= c++11. Note that Qt 5.7 will require C++11 support, so it is a good idea to ensure your code works with that compiler setting. (Note: it is not possible to disable C++11 support with Microsoft Visual Studio) Change-Id: Ib056b47dde3341ef9a52ffff13ef13ee2cf888eb Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* tools: use QStringBuilderMarc Mutz2015-10-151-0/+1
| | | | | | | | | | src/tools/bootstrap was already compiled with QT_USE_STRINGBUILDER, by way of load(qt_module), but the actual apps weren't. Some apps become smaller, some larger; all (presumably) faster. Change-Id: Idc8662e62ec14b27e730de9842bec295a1b5566e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add support for the Jetson TK1 Pro using EGLDeviceLaszlo Agocs2015-10-142-0/+72
| | | | | | | | | | | For now we pick one crtc and find the corresponding layer. If this is not desired, set QT_QPA_EGLFS_LAYER_INDEX to override the layer to be used. Enable qt.qpa.eglfs.kms to get logs about the available layers. Change-Id: I762783f960739e32966c8cde17d8f55fbe40091f Done-with: Louai Al-Khanji <louai.al-khanji@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
* Distinguish between Objective-C and Objective-C++ sourcesTor Arne Vestbø2015-10-0915-51/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Liang Qi2015-10-021-1/+1
|\
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-021-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/corelib/tools/qstring.h src/gui/image/qimagereader.cpp src/network/access/qnetworkaccessmanager.cpp src/tools/qdoc/doc/examples/examples.qdoc src/widgets/accessible/qaccessiblewidgetfactory_p.h src/widgets/doc/qtwidgets.qdocconf Change-Id: I8fae62283aebefe24e5ca4b4abd97386560c0fcb