summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_common.prf
Commit message (Collapse)AuthorAgeFilesLines
* purge -separate-debug-info=nocopyOswald Buddenhagen2014-03-201-1/+0
| | | | | | | | clearly, this was a poor man's implementation of -force-debug-info. Change-Id: Ib5c7e390bd0e3a6912af8c4027074a114ed33f8a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Let Apple Clang 5.0 also have -Werror supportThiago Macieira2014-01-141-2/+2
| | | | | | Change-Id: I3abc83617c8f3426e4f5920052281fe13e4e3edc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Use the QMAKE_CXXFLAGS_WARN_ON variable for setting -WerrorThiago Macieira2014-01-131-6/+6
| | | | | | | | | | | | | | | | | | This would mean we don't pass -Werror when under CONFIG += warn_off. However, that's not the main goal. The main goal of this change is to have -Werror appear *after* -Wall -Wextra. With some compilers, like Clang, this is necessary to have the -Wno-error=foo options work properly. For example, if the -Wfoo warning gets enabled by -Wall, Clang will treat it as an error if the arguments appear in the following order: -Werror -Wno-error=foo -Wall But not if they appear in this order: -Wall -Werror -Wno-error=foo Change-Id: I38c820bffc8277d909391e9bf557db5347836b9c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add -Werror support for the regular Clang, not Apple'sThiago Macieira2014-01-101-3/+7
| | | | | | | Base modules already work and produce no warnings. Change-Id: I932d7aaecbe3404f180e185bf1e9fff4d488a05d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Rewrite qmake's exclusive-build featureTor Arne Vestbø2013-10-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to compute the default exclusive build directory, eg 'debug', at configure time, and then set OBJECTS_DIR, MOC_DIR, etc to include this hard-coded default exclusive build directory. We then had to run a post- process step where we replaced the 'debug' part with the current actual exclusive build pass, eg 'release', resulting in long-standing bugs such as QTBUG-491 where we end up replacing parts of the build output dirs that were not part of the original exclusive build directory. We now set the OBJECTS_DIR, MOC_DIR, etc defaults in configure like before, but they do not include any exclusive-build information. The exclusive build directory is handled as a separate step in default_post where we adjust all entries in QMAKE_DIR_REPLACE to be exclusive directories. For backwards compatibility the new exclusive build behavior is only enabled for variables named by QMAKE_DIR_REPLACE_SANE, which for Qt itself applies globally to everything but DESTDIR, and for libs and tools also applies to DESTDIR. The reason for leaving out DESTDIR in the general case is because many tests and examples assume the old behavior for DESTDIR. A side effect of including all the other variables for Qt libs and tools is that the PCH output dir will be uniformly set, which has been an issue on Windows in the past. The addExclusiveBuilds function now takes two or more arguments, each argument being the key for an exclusive build, which can be customized eg. using $$key.{name,target,dir_affix}. Passing more than two arguments results in three/four/etc-way exclusive builds, eg debug/release/profile. Exclusive builds can also be combined, eg static/shared + debug/release by making two calls to the function. We also handle individual targets of combined exclusive builds, eg static/shared + debug/release, meaning it is possible to run 'make debug' to build both static-debug and shared-debug. Task-number: QTBUG-491 Change-Id: I02841dbbd065ac07d413dfb45cfcfe4c013674ac Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Android: Never error out on literal-suffix warningEskil Abrahamsen Blomfeldt2013-09-201-0/+4
| | | | | | | | | When warnings are treated as errors, no Android code will compile, since one of the platform headers in the NDK triggers the literal-suffix warning. So we need to mark this as no-error. Change-Id: Icabf1c2f2d32f76ee157d04e62a28f83abeed8f1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix -Wno-error=deprecated for GCC and ClangThiago Macieira2013-09-041-2/+2
| | | | | | | | | Commit a7ba0ad93e22d095f86c5faebd0b6ddf374656c8 introduced the -Wno- language. The warning about deprecated functions, variables or types is -Wdeprecated-declarations. Change-Id: I6d269851afefc6a3fc3bf6599c3c702eb164245e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make sure deprecation warnings don't cause errors with -WerrorThiago Macieira2013-08-271-3/+4
| | | | | | | | | | | It sounds like a good thing to have this warning, but for future-proofing we can't have it. The system libraries might change and add deprecation marks (OS X does that often). If they do that, we don't want poor developers to have to fix all warnings before they can build Qt again. Change-Id: I4ff317da0de596c470bb1efe6e59bcf70aeec8fc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Set an upper range of compiler versions for -WerrorThiago Macieira2013-08-231-11/+13
| | | | | | | | | | | | | | | | | This allows us to go back to older versions of Qt with newer compilers, that didn't exist when those versions were released. It also allows someone upgrading their compiler and not being faced with having to fix all warnings before Qt compiles. This commit whitelists the following compilers: * Apple Clang versions 4.0, 4.1 and 4.2 (OS X only) * Intel Compiler versions 13.0, 13.1 and 14.0 (Linux only) * GCC versions 4.6, 4.7 and 4.8 (all OS) Notably, Clang on other other OS besides OS X and MSVC are missing. Change-Id: I665160d40a59336da1904f2a6c1eda543e592b48 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add the infrastructure to compile Qt with -WerrorThiago Macieira2013-02-281-0/+34
| | | | | | | | | | | | | This is enabled only for -developer-builds and only for certain compiler-version combinations that are in a whitelist. It also requires each library, plugin or tool to declare whether it is supposedly clean of warnings. When most targets are clean, we can consider inverting. Change-Id: I17b5c4e45aee5078f9788e846a45d619c144095a Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Enable C++11 mode for Qt tools tooThiago Macieira2013-02-281-1/+1
| | | | | | Change-Id: Ifb93e6ed1046142a9f57c7546ddf926532efd868 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add qt_common.prf and move some common definitions thereThiago Macieira2013-02-281-0/+20
This file is now included by three types of Qt output: modules, plugins (including QML plugins) and tools. Change-Id: I5085f6ff37f70e9228303bf0520040adc2e2d7a5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>