qt5base-lts/qmake/generators
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
..
mac Add support for Apple watchOS 2016-08-19 21:05:55 +00:00
unix Enable precompiled headers on iOS, tvOS, watchOS 2016-09-02 08:25:31 +00:00
win32 Merge dev into 5.8 2016-08-22 11:30:01 +02:00
makefile.cpp fix argument order in recursive qmake invocations 2016-08-25 11:55:32 +00:00
makefile.h qmake: Mark MakefileGenerator::Compiler as Q_MOVABLE_TYPE 2016-08-15 22:16:59 +00:00
makefiledeps.cpp Merge remote-tracking branch 'origin/5.6' into 5.7 2016-04-29 17:55:20 +02:00
makefiledeps.h qmake: replace a uint:1 with a bool 2016-08-15 22:16:09 +00:00
metamakefile.cpp Merge remote-tracking branch 'origin/5.6' into 5.7 2016-04-29 17:55:20 +02:00
metamakefile.h Updated license headers 2016-01-21 18:55:18 +00:00
projectgenerator.cpp Updated license headers 2016-01-21 18:55:18 +00:00
projectgenerator.h Updated license headers 2016-01-21 18:55:18 +00:00
xmloutput.cpp Merge remote-tracking branch 'origin/5.6' into dev 2016-02-11 08:25:04 +01:00
xmloutput.h Updated license headers 2016-01-21 18:55:18 +00:00