summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/features/default_post.prf2
-rw-r--r--mkspecs/features/precompile_header.prf24
-rw-r--r--src/corelib/tools/tools.pri13
3 files changed, 27 insertions, 12 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
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index c69d270e33..ce3a6f9e8c 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -115,7 +115,7 @@ SOURCES += \
tools/qvsnprintf.cpp
NO_PCH_SOURCES = tools/qstring_compat.cpp
-false: SOURCES += $$NO_PCH_SOURCES
+false: SOURCES += $$NO_PCH_SOURCES # Hack for QtCreator
!nacl:mac: {
SOURCES += tools/qelapsedtimer_mac.cpp
@@ -198,14 +198,3 @@ INCLUDEPATH += ../3rdparty/md5 \
!macx-icc:!vxworks:unix:LIBS_PRIVATE += -lm
TR_EXCLUDE += ../3rdparty/*
-
-no_pch_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN}
-win32:!gcc: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