qt5base-lts/mkspecs/features
Thiago Macieira cb09e1e889 Automatically enable precompiled headers for Qt modules
We'll use the master depends header for the module as the precompilation
header. We could use the master include, but tests show that
precompilation benefits taper off for big precompiled headers. The
important part is to get the Standard Library headers precompiled.

Each module can still override which header to precompile by setting
PRECOMPILED_HEADER after load(qt_modules). It can also turn off
precompiled headers by setting that to empty or by CONFIG -=
precompile_header.

Testing a few build times shows the following improvements (GCC 4.8 with
-O3 and C++11):
  QtPrintSupport: 14.7%
  QtOpenGL:       22.7%
  QtDBus:         29.5%
  QtSvg:          -2.4%
  QtXmlPatterns:  26.1%
  QtQml:          21.6%
  QtQuick:        25.0%
  QtMultimedia:    9.0%
  QtSerialPort:  -30.0%
  QtHelp:          5.6%

The numbers also show that precompilation is worse for small modules.

Change-Id: I3793fafcedaff5456527cd6b3777ffd162975c36
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-27 06:26:57 +02:00
..
android REG: Fix make install on library projects on Android 2014-01-15 16:08:57 +01:00
data CMake: Ensure that the EXECUTABLE_COMPILE_FLAGS list exists 2013-10-24 20:20:59 +02:00
mac Make Xcode debug info format controllable through a qmake variable 2014-04-10 00:44:44 +02:00
qpa Hide Harfbuzz from the outer world 2013-03-13 14:46:26 +01:00
unix purge vestiges of opengl es 1 support 2014-04-04 19:32:21 +02:00
win32 untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
winrt Windows Phone: add language control to the package manifest 2014-04-30 08:48:15 +02:00
build_pass.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
c++11.prf Enable C++11 on OSX when using Clang 2013-04-05 14:23:23 +02:00
cmake_functions.prf Remove leading '/' from target paths. 2013-11-27 08:24:50 +01:00
configure.prf Make console a no-op for WinRT 2013-11-14 18:53:48 +01:00
create_cmake.prf make cmake registration of qt plugins make use of PLUGIN_EXTENDS 2014-04-09 20:53:06 +02:00
ctest_testcase_common.prf CMake: Test with the NMake Makefiles generator on Windows. 2014-03-06 17:22:55 +01:00
ctest_testcase_installed.prf Only run the cmake test in the install location if not already done. 2013-07-15 21:56:51 +02:00
ctest_testcase.prf Always use forward slashes in paths passed to cmake. 2013-07-10 13:05:01 +02:00
dbusadaptors.prf de-duplicate dbusadaptors.prf vs. dbusinterfaces.prf 2012-08-04 00:52:38 +02:00
dbuscommon.pri dbuscommon.pri: Fix source file dependency 2013-10-30 14:50:02 +01:00
dbusinterfaces.prf de-duplicate dbusadaptors.prf vs. dbusinterfaces.prf 2012-08-04 00:52:38 +02:00
declarative_debug.prf Rename quick1_debug back to declarative_debug 2012-10-04 03:03:00 +02:00
default_post.prf untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
default_pre.prf remove some unnecessary CONFIG additions 2012-12-17 14:08:17 +01:00
designer_defines.prf dispose of library-bound feature files 2012-06-19 16:39:52 +02:00
device_config.prf add some docu about the project loading sequence 2012-12-13 09:10:45 +01:00
egl.prf purge vestiges of opengl es 1 support 2014-04-04 19:32:21 +02:00
exceptions_off.prf turn off exceptions by default where they aren't required 2012-05-17 05:14:26 +02:00
exceptions.prf turn off exceptions by default where they aren't required 2012-05-17 05:14:26 +02:00
exclusive_builds_post.prf Rewrite qmake's exclusive-build feature 2013-10-25 20:50:51 +02:00
exclusive_builds.prf Rewrite qmake's exclusive-build feature 2013-10-25 20:50:51 +02:00
gcov.prf Integrate gcov support into Qt build system. 2013-08-07 13:38:07 +02:00
include_source_dir.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
incredibuild_xge.prf untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
java.prf untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
lex.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
link_pkgconfig.prf make the pkg-config error message more precise 2014-01-07 19:45:15 +01:00
moc.prf Fix compilation when including files created in shadow dirs 2014-02-10 20:41:22 +01:00
no_debug_info.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
precompile_header.prf Fix build with precompile headers 2014-01-14 10:38:29 +01:00
qfeatures.prf export QT_NO_<foo> equivalents to the build system 2013-10-31 19:49:15 +01:00
qlalr.prf introduce qlalr feature 2014-01-20 09:26:54 +01:00
qml1_module.prf mark a bunch of features as internal 2012-12-12 21:48:02 +01:00
qml1_plugin.prf mark a bunch of features as internal 2012-12-12 21:48:02 +01:00
qml_debug.prf Rename the 'declarative debug support' to 'qml debug support' 2012-03-31 16:33:04 +02:00
qml_module.prf broaden the effect of CONFIG+=force_independent somewhat 2013-03-15 18:02:09 +01:00
qml_plugin.prf de-duplicate setup of libdir replacement in prl files 2014-04-15 17:37:47 +02:00
qmltestcase.prf Distinguish between 'mac' and 'macx' qmake scopes 2013-03-05 20:59:45 +01:00
qt_android_deps.prf Android: Allow modules to specify permissions/features 2013-11-07 16:37:37 +01:00
qt_app.prf Strip bootstrapped binaries of unused sections 2014-05-19 19:33:15 +02:00
qt_build_config.prf fix doc references to webkit 2014-05-13 07:12:43 +02:00
qt_build_paths.prf reshuffle path setup 2013-06-10 21:12:24 +02:00
qt_common.prf Fix linking warnings on OS X with qmlimportscanner 2014-05-23 08:39:57 +02:00
qt_config.prf de-duplicate QT_MODULES 2013-10-23 13:43:27 +02:00
qt_docs_targets.prf mark a bunch of features as internal 2012-12-12 21:48:02 +01:00
qt_docs.prf fix doc references to webkit 2014-05-13 07:12:43 +02:00
qt_example_installs.prf clear OBJECTIVE_SOURCES as well 2014-01-20 14:58:48 +01:00
qt_functions.prf untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
qt_headersclean.prf headersclean: process private modules correctly 2013-07-03 15:31:13 +02:00
qt_helper_lib.prf fix too aggressive installation of helper libraries 2014-05-20 19:23:58 +02:00
qt_installs.prf rewrite handling of private modules 2013-10-24 20:20:59 +02:00
qt_module_headers.prf Automatically enable precompiled headers for Qt modules 2014-05-27 06:26:57 +02:00
qt_module_pris.prf fix list of cached module variables 2014-04-30 16:56:29 +02:00
qt_module.prf Make the use of -ffunction-sections more generic in Qt 2014-05-19 19:33:15 +02:00
qt_parts.prf iOS: Enable building of basic tests 2014-01-22 12:35:17 +01:00
qt_plugin.prf don't create a trailing space when PLUGIN_EXTENDS is empty 2014-04-30 16:56:36 +02:00
qt_targets.prf Update copyright year in tools output 2014-03-31 12:46:44 +02:00
qt_tool.prf rewrite handling of private modules 2013-10-24 20:20:59 +02:00
qt.prf Merge remote-tracking branch 'origin/stable' into dev 2014-05-06 16:50:03 +02:00
resolve_config.prf Rewrite qmake's exclusive-build feature 2013-10-25 20:50:51 +02:00
resolve_target.prf Rewrite qmake's exclusive-build feature 2013-10-25 20:50:51 +02:00
resources.prf fix rcc & uic .depend_commands 2013-06-15 21:39:34 +02:00
silent.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
simd.prf Use the "gcc" feature in simd.prf 2014-05-06 22:36:08 +02:00
spec_post.prf Add osx and darwin scopes to qmake. 2013-07-11 18:26:45 +02:00
spec_pre.prf add some docu about the project loading sequence 2012-12-13 09:10:45 +01:00
testcase_targets.prf factor out testcase_targets.prf 2012-12-03 15:56:28 +01:00
testcase.prf untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
testcocoon.prf fix host vs. makefile directory separator mess 2012-07-28 00:09:45 +02:00
testlib_defines.prf auto-generate module pris 2012-06-19 16:40:06 +02:00
uic.prf fix rcc & uic .depend_commands 2013-06-15 21:39:34 +02:00
use_c_linker.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
vxworks.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
warn_off.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
warn_on.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
wayland-scanner.prf Make wayland-scanner install generated headers 2013-12-23 21:14:34 +01:00
yacc.prf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00