aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/windows-msvc-base.qbs
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs/modules/cpp/windows-msvc-base.qbs')
-rw-r--r--share/qbs/modules/cpp/windows-msvc-base.qbs21
1 files changed, 17 insertions, 4 deletions
diff --git a/share/qbs/modules/cpp/windows-msvc-base.qbs b/share/qbs/modules/cpp/windows-msvc-base.qbs
index c45ec5ec3..4efd20668 100644
--- a/share/qbs/modules/cpp/windows-msvc-base.qbs
+++ b/share/qbs/modules/cpp/windows-msvc-base.qbs
@@ -35,6 +35,7 @@ import qbs.PathTools
import qbs.Probes
import qbs.Utilities
import qbs.WindowsUtils
+import 'cpp.js' as Cpp
import 'msvc.js' as MSVC
CppModule {
@@ -114,6 +115,12 @@ CppModule {
property string windowsSdkVersion
+ defineFlag: "/D"
+ includeFlag: "/I"
+ systemIncludeFlag: "/external:I"
+ preincludeFlag: "/FI"
+ libraryPathFlag: "/LIBPATH:"
+
Rule {
condition: useCPrecompiledHeader
inputs: ["c_pch_src"]
@@ -155,7 +162,12 @@ CppModule {
auxiliaryInputs: ["hpp"]
explicitlyDependsOn: ["c_pch", "cpp_pch"]
- outputFileTags: ["obj", "intermediate_obj", "lst"]
+ outputFileTags: {
+ var tags = ["obj", "intermediate_obj"];
+ if (generateCompilerListingFiles)
+ tags.push("lst");
+ return tags;
+ }
outputArtifacts: {
var tags = input.fileTags.contains("cpp_intermediate_object")
? ["intermediate_obj"]
@@ -197,7 +209,9 @@ CppModule {
inputsFromDependencies: ['staticlibrary', 'dynamiclibrary_import', "debuginfo_app"]
outputFileTags: {
- var tags = ["application", "debuginfo_app", "mem_map"];
+ var tags = ["application", "debuginfo_app"];
+ if (generateLinkerMapFile)
+ tags.push("mem_map");
if (shouldSignArtifacts)
tags.push("codesign.signed_artifact");
return tags;
@@ -355,8 +369,7 @@ CppModule {
FileInfo.toWindowsSeparators(input.filePath)];
if (product.cpp.debugInformation)
args.push("/Zi");
- args = args.concat(ModUtils.moduleProperty(input, 'platformFlags', 'asm'),
- ModUtils.moduleProperty(input, 'flags', 'asm'));
+ args = args.concat(Cpp.collectMiscAssemblerArguments(input, "asm"));
var cmd = new Command(product.cpp.assemblerPath, args);
cmd.description = "assembling " + input.fileName;
cmd.jobPool = "assembler";