qt5base-lts/qmake
Jake Petroules 73331eebf8 Enable precompiled headers on iOS, tvOS, watchOS
The actual blocker for precompiled headers is not the iOS/tvOS/watchOS
platforms, but the way qmake handled multiple-architecture builds on
Apple platforms.

This patch allows multi-arch builds to be performed while using
precompiled headers.

Since df91ef3d6c55692a0236f67b6c6b134a3bf84098 (April 2009), Clang has
had support for PCH files in the driver, which allows to use the
-include flag to automatically translate to -include-pch. We can then
take advantage of the fact that the -include option is allowed to not
be separate from its argument, which lets us take advantage of -Xarch to
specify a per-architecture precompiled header file.

This is done through some magic in the qmake Makefile generator which
"multiplexes" the PCH creation rule across multiple architectures and
replaces a series of tokens with the proper precompiled header paths
and architecture flags at usage point.

Change-Id: I76c8dc9cda7e218869c2919f023d9b04f311c6fd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-09-02 08:25:31 +00:00
..
doc Merge remote-tracking branch 'origin/5.7' into 5.8 2016-08-29 15:30:17 +02:00
generators Enable precompiled headers on iOS, tvOS, watchOS 2016-09-02 08:25:31 +00:00
library add discard_from() function 2016-08-25 11:56:07 +00:00
cachekeys.h Updated license headers 2016-01-21 18:55:18 +00:00
main.cpp moc: get the system #defines from the compiler itself 2016-07-20 02:54:03 +00:00
Makefile.unix QSettings: Remove calls to deprecated API on macOS 2016-08-30 01:52:53 +00:00
Makefile.win32 configure.exe: Remove old code that supported MSVC < 2013 2016-06-20 16:13:06 +00:00
meta.cpp qmake: eradicate Q_FOREACH loops [needing qAsConst()] 2016-01-28 20:25:18 +00:00
meta.h Updated license headers 2016-01-21 18:55:18 +00:00
option.cpp qmake: use reserve to optimize memory allocation. 2016-02-01 20:57:59 +00:00
option.h qmake: eradicate Q_FOREACH loops [already const] 2016-01-28 20:25:21 +00:00
project.cpp Merge remote-tracking branch 'origin/5.7' into dev 2016-07-19 20:14:40 +02:00
project.h Merge remote-tracking branch 'origin/5.7' into dev 2016-07-19 20:14:40 +02:00
property.cpp qmake: eradicate Q_FOREACH loops [needing qAsConst()] 2016-01-28 20:25:18 +00:00
property.h Updated license headers 2016-01-21 18:55:18 +00:00
qmake_pch.h Updated license headers 2016-01-21 18:55:18 +00:00
qmake-aux.pro configure: Separate host and build platform. 2015-10-30 13:14:51 +00:00
qmake.pri qmake: Remove Windows CE support. 2016-03-10 13:33:44 +00:00
qmake.pro qmake/tools: port the last remaining Q_FOREACH loops and add QT_NO_FOREACH 2016-05-11 16:55:32 +00:00