diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-10-14 11:47:25 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-10-17 16:52:14 +0200 |
commit | dc612acdc6577594c8f61345cea2de549d7aae34 (patch) | |
tree | bc0ac157cdc8d7aad1ab07bbf61836911383d24f | |
parent | 1c91ce375e12a302cc8a96e4a9888c6b16878a8a (diff) |
fix PRECOMPILED_SOURCE regression in vc(x)projs
Commit af760349 in Qt4 broke the possibility of having a
PRECOMPILED_SOURCE in a different directory than the
PRECOMPILED_HEADER.
Do not write the PrecompiledHeaderThrough value for the
PRECOMPILED_SOURCE, but use the project default.
The msbuild code path needed adjustments to write the
UsePrecompiledHeader value, even if PrecompiledHeaderThrough is
empty.
Task-number: QTBUG-41917
Change-Id: I74e621f6618cf056e3967c99a2215f76c346b9ee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r-- | qmake/generators/win32/msbuild_objectmodel.cpp | 8 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_objectmodel.cpp | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index 6751dc0f6b..5acd60edea 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -1956,11 +1956,13 @@ bool VCXProjectWriter::outputFileConfig(OutputFilterData *d, XmlOutput &xml, Xml } if ( !filter.CompilerTool.PrecompiledHeaderThrough.isEmpty() ) { - xml << tag("PrecompiledHeaderFile") << attrTag("Condition", condition) - << valueTag(filter.CompilerTool.PrecompiledHeaderThrough) - << tag("PrecompiledHeader") + << valueTag(filter.CompilerTool.PrecompiledHeaderThrough); + } + + if (filter.CompilerTool.UsePrecompiledHeader != pchUnset) { + xml << tag("PrecompiledHeader") << attrTag("Condition", condition) << valueTag(toString(filter.CompilerTool.UsePrecompiledHeader)); } diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp index f8e67718f7..aa2d40ad77 100644 --- a/qmake/generators/win32/msvc_objectmodel.cpp +++ b/qmake/generators/win32/msvc_objectmodel.cpp @@ -2237,7 +2237,8 @@ void VCFilter::modifyPCHstage(QString str) useCompilerTool = true; // Setup PCH options CompilerTool.UsePrecompiledHeader = (isCFile ? pchNone : pchCreateUsingSpecific); - CompilerTool.PrecompiledHeaderThrough = (isCPPFile ? Project->precompHFilename : QString("$(NOINHERIT)")); + if (isCFile) + CompilerTool.PrecompiledHeaderThrough = QLatin1String("$(NOINHERIT)"); CompilerTool.ForcedIncludeFiles = QStringList("$(NOINHERIT)"); } |