diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index 6751dc0f6b9658224b098e5700eb5b94af216d55..5acd60edea53386a710b001a3b04f8a2e1935c4e 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 f8e67718f767b28619e89367ed5fb88b76271de6..aa2d40ad773bbe01cff82b0a4bc10df555bf7f63 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)"); }