summaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2021-12-15 19:29:28 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2022-04-04 15:41:20 +0200
commit7694b01aafd52b7064161b2f8c9a98cd330d24d3 (patch)
tree88899525234714d83f4ce6d4963e0e3a73562319 /coin
parent9a18facc66d729a7d9d0a186da49b4b7251fda8b (diff)
coin: Don't package installed example binaries
To do that, we install the example binaries into a new directory rather than the main install dir. The contents of the dir is not archived by the Coin agent. This decreases the size of the binary artifacts. This will be especially important when the examples contain deploy logic which will install the shared Qt libraries next to each example binary. Pick-to: 6.2 6.3 Task-number: QTBUG-90820 Change-Id: I0b112698514309bb9b0794ce4117e8bf30c3a819 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'coin')
-rw-r--r--coin/instructions/prepare_building_env.yaml48
1 files changed, 48 insertions, 0 deletions
diff --git a/coin/instructions/prepare_building_env.yaml b/coin/instructions/prepare_building_env.yaml
index 9587b48a2e..d9855eff9a 100644
--- a/coin/instructions/prepare_building_env.yaml
+++ b/coin/instructions/prepare_building_env.yaml
@@ -422,6 +422,54 @@ instructions:
property: features
contains_value: Sccache
+ # Specify a custom examples installation directory, so that the built example binaries are not
+ # packaged into the artifact archive together with the Qt libraries.
+ - type: Group
+ instructions:
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_CMAKE_ARGS
+ variableValue: " -DQT_INTERNAL_EXAMPLES_INSTALL_PREFIX={{unixPathSeparators .BuildDir}}/installed_examples"
+ - type: AppendToEnvironmentVariable
+ variableName: COMMON_TARGET_CMAKE_ARGS
+ variableValue: " -DQT_INTERNAL_EXAMPLES_INSTALL_PREFIX={{unixPathSeparators .BuildDir}}/installed_examples"
+ enable_if:
+ # Only set the custom installation dir if examples are built.
+ condition: or
+ conditions:
+ # qtbase host case
+ - condition: runtime
+ env_var: CONFIGURE_ARGS
+ contains_value: "QT_BUILD_EXAMPLES=ON"
+ # qtbase target case
+ - condition: runtime
+ env_var: TARGET_CONFIGURE_ARGS
+ contains_value: "QT_BUILD_EXAMPLES=ON"
+ # non-qtbase host case
+ - condition: runtime
+ env_var: NON_QTBASE_CONFIGURE_ARGS
+ contains_value: "QT_BUILD_EXAMPLES=ON"
+ # non-qtbase target case
+ - condition: runtime
+ env_var: NON_QTBASE_TARGET_CONFIGURE_ARGS
+ contains_value: "QT_BUILD_EXAMPLES=ON"
+ # Same as above, but for configurations marked with UseConfigure
+ # qtbase host case
+ - condition: runtime
+ env_var: CONFIGURE_ARGS
+ contains_value: "-make examples"
+ # qtbase target case
+ - condition: runtime
+ env_var: TARGET_CONFIGURE_ARGS
+ contains_value: "-make examples"
+ # non-qtbase host case
+ - condition: runtime
+ env_var: NON_QTBASE_CONFIGURE_ARGS
+ contains_value: "-make examples"
+ # non-qtbase target case
+ - condition: runtime
+ env_var: NON_QTBASE_TARGET_CONFIGURE_ARGS
+ contains_value: "-make examples"
+
- type: SetEnvironmentFromScript
command: [C:\Utils\emsdk\emsdk_env.bat]
userMessageOnFailure: "Failed to set emscripten environment"