diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2021-12-15 19:29:28 +0100 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2022-04-04 15:41:20 +0200 |
commit | 7694b01aafd52b7064161b2f8c9a98cd330d24d3 (patch) | |
tree | 88899525234714d83f4ce6d4963e0e3a73562319 /coin | |
parent | 9a18facc66d729a7d9d0a186da49b4b7251fda8b (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.yaml | 48 |
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" |