aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/msvc.js
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-04-23 12:08:07 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2013-04-25 10:08:16 +0200
commitcc9fc122fb1766d7f2249c8b78b7fdab00ba08d8 (patch)
treeaf50ee31382f4284bb5601014dd133f40c7ef64d /share/qbs/modules/cpp/msvc.js
parent0c36c6a79854032372deb41cc4590a16b84ed3c8 (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.js43
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 {