summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2014-01-06 16:41:53 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-08 15:47:28 +0100
commit635bfd66068269547575115c2a46c6a5e1ddac36 (patch)
treea01bbfa3ea474520d03aef36d6190a3f1e9cb3f7 /mkspecs
parent6f1b82fccdaf202856dcc6510c16b0531680fe23 (diff)
Move no-pch extra compiler to common features
As we add more classes with RValue ref qualified methods we will need the same _compat trick and no-pch support as QString. This patch moves the extra compiler to precompile_header.prf which is automatically included when pch is used. Change-Id: I422a355fd11f499ce0648a90b0385f2a6f699fcb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/default_post.prf2
-rw-r--r--mkspecs/features/precompile_header.prf24
2 files changed, 26 insertions, 0 deletions
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index ee0fdfef48..dd2923f9be 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -82,5 +82,7 @@ breakpad {
!isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$quote($$QMAKE_STRIP $$DEBUGFILENAME)
}
+!precompile_header: SOURCES += $$NO_PCH_SOURCES
+
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
diff --git a/mkspecs/features/precompile_header.prf b/mkspecs/features/precompile_header.prf
new file mode 100644
index 0000000000..ed7fcaa1b4
--- /dev/null
+++ b/mkspecs/features/precompile_header.prf
@@ -0,0 +1,24 @@
+#
+# W A R N I N G
+# -------------
+#
+# This file is not part of the Qt API. It exists purely as an
+# implementation detail. It may change from version to version
+# without notice, or even be removed.
+#
+# We mean it.
+#
+
+#
+# Set up extra compiler for PCH disabled sources
+#
+no_pch_compiler.commands = ${QMAKE_VAR_QMAKE_CXX} -c $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN}
+msvc: no_pch_compiler.commands += -Fo${QMAKE_FILE_OUT}
+else: no_pch_compiler.commands += -o ${QMAKE_FILE_OUT}
+no_pch_compiler.dependency_type = TYPE_C
+no_pch_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
+no_pch_compiler.input = NO_PCH_SOURCES
+no_pch_compiler.variable_out = OBJECTS
+no_pch_compiler.name = compiling[no_pch] ${QMAKE_FILE_IN}
+silent: no_pch_compiler.commands = @echo compiling[no_pch] ${QMAKE_FILE_IN} && $$no_pch_compiler.commands
+QMAKE_EXTRA_COMPILERS += no_pch_compiler