diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-02-21 17:57:32 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-02-22 15:19:48 +0000 |
commit | edeac6bab66d6fc8d53daf82bc51e145158b1a3d (patch) | |
tree | e67f5d1fb58b1857d4259998a2e9b468ba2ac3c0 /share/qbs/modules/cpp | |
parent | 905b78882ac6c6bc14674a23f2eeb8fdea331c9b (diff) | |
download | qbs-edeac6bab66d6fc8d53daf82bc51e145158b1a3d.tar.gz |
Darwin: Fix lipo rules
- We must activate these rules only on the product that is the actual
aggregator.
- The lipo command must only consider artifacts of the multiplexed
variants of the same product.
Change-Id: I25dc42cb53d84d85786b2d7ff96297b7fd58a90d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'share/qbs/modules/cpp')
-rw-r--r-- | share/qbs/modules/cpp/DarwinGCC.qbs | 9 | ||||
-rw-r--r-- | share/qbs/modules/cpp/darwin.js | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/share/qbs/modules/cpp/DarwinGCC.qbs b/share/qbs/modules/cpp/DarwinGCC.qbs index e6a668486..16176b4eb 100644 --- a/share/qbs/modules/cpp/DarwinGCC.qbs +++ b/share/qbs/modules/cpp/DarwinGCC.qbs @@ -64,6 +64,7 @@ UnixGCC { lipoName: "lipo" lipoPath: lipoPathPrefix + lipoName + property bool enableAggregationRules: product.aggregate && !product.multiplexConfigurationId targetVendor: "apple" targetSystem: "darwin" @@ -206,7 +207,7 @@ UnixGCC { property bool libcxxAvailable: qbs.toolchain.contains("clang") && cxxLanguageVersion !== "c++98" Rule { - condition: product.aggregate + condition: enableAggregationRules inputsFromDependencies: ["application"] multiplex: true @@ -217,7 +218,7 @@ UnixGCC { } Rule { - condition: product.aggregate + condition: enableAggregationRules inputsFromDependencies: ["loadablemodule"] multiplex: true @@ -229,7 +230,7 @@ UnixGCC { } Rule { - condition: product.aggregate + condition: enableAggregationRules inputsFromDependencies: ["dynamiclibrary"] multiplex: true @@ -241,7 +242,7 @@ UnixGCC { } Rule { - condition: product.aggregate + condition: enableAggregationRules inputsFromDependencies: ["staticlibrary"] multiplex: true diff --git a/share/qbs/modules/cpp/darwin.js b/share/qbs/modules/cpp/darwin.js index 24b6ee089..6373b57c4 100644 --- a/share/qbs/modules/cpp/darwin.js +++ b/share/qbs/modules/cpp/darwin.js @@ -130,6 +130,8 @@ function lipoOutputArtifacts(product, inputs, fileTag, debugSuffix) { function prepareLipo(project, product, inputs, outputs, input, output) { var cmd; var commands = []; + for (var p in inputs) + inputs[p] = inputs[p].filter(function(inp) { return inp.product.name === product.name; }); var allInputs = [].concat.apply([], Object.keys(inputs).map(function (tag) { return ["application", "dynamiclibrary", "staticlibrary", "loadablemodule"].contains(tag) ? inputs[tag] : []; |