diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-04-23 12:08:07 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-04-25 10:08:16 +0200 |
commit | cc9fc122fb1766d7f2249c8b78b7fdab00ba08d8 (patch) | |
tree | af50ee31382f4284bb5601014dd133f40c7ef64d /share/qbs/modules/cpp/msvc.js | |
parent | 0c36c6a79854032372deb41cc4590a16b84ed3c8 (diff) |
fix cpp.precompiledHeader property for non-C++ files
For now, this property is ignored for other languages than C++.
Task-number: QBS-187
Change-Id: I3c0af7e60939bd3b934b7464919c3da52733b5fb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'share/qbs/modules/cpp/msvc.js')
-rw-r--r-- | share/qbs/modules/cpp/msvc.js | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/share/qbs/modules/cpp/msvc.js b/share/qbs/modules/cpp/msvc.js index ed8af567b..ddfffb151 100644 --- a/share/qbs/modules/cpp/msvc.js +++ b/share/qbs/modules/cpp/msvc.js @@ -56,32 +56,31 @@ function prepareCompiler(product, input, outputs, platformDefines, defines, incl } var objOutput = outputs.obj ? outputs.obj[0] : undefined - var pchOutput = outputs["c++_pch"] ? outputs["c++_pch"][0] : undefined - - // precompiled header file - var pch = ModUtils.moduleProperty(product, "precompiledHeader") - if (pch) { - if (pchOutput) { - // create pch - args.push('/Yc') - args.push('/Fp' + FileInfo.toWindowsSeparators(pchOutput.fileName)) - args.push('/Fo' + FileInfo.toWindowsSeparators(objOutput.fileName)) - args.push('/TP') - args.push(FileInfo.toWindowsSeparators(input.fileName)) - } else { - // use pch - var pchHeaderName = FileInfo.toWindowsSeparators(pch) - var pchName = FileInfo.toWindowsSeparators(ModUtils.moduleProperty(product, "precompiledHeaderDir") - + "\\.obj\\" + product.name + "\\" + product.name + ".pch") - args.push("/FI" + pchHeaderName) - args.push("/Yu" + pchHeaderName) - args.push("/Fp" + pchName) - } - } args.push('/Fo' + FileInfo.toWindowsSeparators(objOutput.fileName)) args.push(FileInfo.toWindowsSeparators(input.fileName)) if (isCxx) { + // precompiled header file + var pch = ModUtils.moduleProperty(product, "precompiledHeader") + if (pch) { + var pchOutput = outputs["c++_pch"] ? outputs["c++_pch"][0] : undefined + if (pchOutput) { + // create pch + args.push('/Yc') + args.push('/Fp' + FileInfo.toWindowsSeparators(pchOutput.fileName)) + args.push('/Fo' + FileInfo.toWindowsSeparators(objOutput.fileName)) + args.push('/TP') + args.push(FileInfo.toWindowsSeparators(input.fileName)) + } else { + // use pch + var pchHeaderName = FileInfo.toWindowsSeparators(pch) + var pchName = FileInfo.toWindowsSeparators(ModUtils.moduleProperty(product, "precompiledHeaderDir") + + "\\.obj\\" + product.name + "\\" + product.name + ".pch") + args.push("/FI" + pchHeaderName) + args.push("/Yu" + pchHeaderName) + args.push("/Fp" + pchName) + } + } if (cxxFlags) args = args.concat(cxxFlags); } else { |