aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/cpp.js
diff options
context:
space:
mode:
Diffstat (limited to 'share/qbs/modules/cpp/cpp.js')
-rw-r--r--share/qbs/modules/cpp/cpp.js20
1 files changed, 14 insertions, 6 deletions
diff --git a/share/qbs/modules/cpp/cpp.js b/share/qbs/modules/cpp/cpp.js
index c8120738b..315b902ee 100644
--- a/share/qbs/modules/cpp/cpp.js
+++ b/share/qbs/modules/cpp/cpp.js
@@ -78,7 +78,7 @@ function assemblerOutputTags(needsListingFiles) {
}
function compilerOutputTags(needsListingFiles) {
- var tags = ["obj"];
+ var tags = ["obj", "intermediate_obj"];
if (needsListingFiles)
tags.push("lst");
return tags;
@@ -127,13 +127,21 @@ function assemblerOutputArtifacts(input) {
return artifacts;
}
-function compilerOutputArtifacts(input) {
- var artifacts = [];
- artifacts.push({
- fileTags: ["obj"],
+function compilerOutputArtifacts(input, inputs) {
+ var objTags = input.fileTags.contains("cpp_intermediate_object")
+ ? ["intermediate_obj"]
+ : ["obj"];
+ if (inputs) {
+ if (inputs.c || inputs.objc)
+ objTags.push("c_obj");
+ if (inputs.cpp || inputs.objcpp)
+ objTags.push("cpp_obj");
+ }
+ var artifacts = [{
+ fileTags: objTags,
filePath: FileInfo.joinPaths(Utilities.getHash(input.baseDir),
input.fileName + input.cpp.objectSuffix)
- });
+ }];
if (input.cpp.generateCompilerListingFiles) {
artifacts.push({
fileTags: ["lst"],