diff options
Diffstat (limited to 'coin/instructions/prepare_building_env.yaml')
-rw-r--r-- | coin/instructions/prepare_building_env.yaml | 166 |
1 files changed, 163 insertions, 3 deletions
diff --git a/coin/instructions/prepare_building_env.yaml b/coin/instructions/prepare_building_env.yaml index f816ef56ea..44db1d2585 100644 --- a/coin/instructions/prepare_building_env.yaml +++ b/coin/instructions/prepare_building_env.yaml @@ -26,6 +26,16 @@ instructions: property: host.os equals_value: Windows + # Enable Axivion_analysis for Qt + - type: EnvironmentVariable + variableName: AXIVION_ANALYSIS + variableValue: "1" + enable_if: + condition: property + property: features + contains_value: Axivion + + # Export ICC specific env. variables - type: Group instructions: @@ -123,9 +133,26 @@ instructions: variableName: TARGET_ARCHITECTURE variableValue: x64_arm64 enable_if: - condition: property - property: target.arch - equals_value: ARM64 + condition: and + conditions: + - condition: property + property: target.arch + equals_value: ARM64 + - condition: property + property: host.arch + equals_value: X86_64 + - type: EnvironmentVariable + variableName: TARGET_ARCHITECTURE + variableValue: arm64 + enable_if: + condition: and + conditions: + - condition: property + property: target.arch + in_values: ["AARCH64", "ARM64"] + - condition: property + property: host + equals_property: target - type: EnvironmentVariable # HACK. Overwrite TARGET_ARCHITECTURE as we do not use standard MSVC cross # compilation targets here. The target architecture will be detected by Qt. @@ -305,6 +332,14 @@ instructions: condition: property property: target.osVersion in_values: [QEMU] + # This fixes an issue where binfmts is sometimes disabled on the test VMs + - type: ExecuteCommand + command: sudo update-binfmts --enable + userMessageOnFailure: "Failed to enable binfmts" + enable_if: + condition: property + property: target.osVersion + equals_value: QEMU # Windows on Arm, cross-compilation with MSVC - type: Group @@ -322,6 +357,17 @@ instructions: variableName: TARGET_ENV_PREFIX variableValue: "c:\\users\\qt\\prefix.bat" + # VxWorks + - type: Group + enable_if: + condition: property + property: target.osVersion + equals_value: VxWorks + instructions: + - type: EnvironmentVariable + variableName: TARGET_ENV_PREFIX + variableValue: "{{.Env.VXWORKS_HOME}}/wrenv.linux" + # QNX variables - type: Group enable_if: @@ -427,6 +473,73 @@ instructions: property: features contains_value: UseConfigure + # SBOM + - type: Group + enable_if: + condition: property + property: features + contains_value: GenerateSBOM + instructions: + - type: AppendToEnvironmentVariable + variableName: COMMON_CMAKE_ARGS + variableValue: " -DQT_GENERATE_SBOM=ON" + - type: AppendToEnvironmentVariable + variableName: COMMON_NON_QTBASE_CMAKE_ARGS + variableValue: " -DQT_GENERATE_SBOM=ON" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_CMAKE_ARGS + variableValue: " -DQT_GENERATE_SBOM=ON" + - type: AppendToEnvironmentVariable + variableName: COMMON_NON_QTBASE_TARGET_CMAKE_ARGS + variableValue: " -DQT_GENERATE_SBOM=ON" + + # SBOM Python apps path. On Windows python-installed apps are + # in the same directory where pip is, aka Scripts sub-directory. + - type: EnvironmentVariable + variableName: SBOM_PYTHON_APPS_PATH + variableValue: "{{.Env.PIP3_PATH}}" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: SBOM_PYTHON_APPS_PATH + variableValue: "{{.Env.PYTHON3_PATH}}" + disable_if: + condition: property + property: host.os + equals_value: Windows + + + # SBOM verification and auditing + - type: Group + enable_if: + condition: property + property: features + contains_value: VerifySBOM + instructions: + - type: EnvironmentVariable + variableName: SBOM_COMMON_ARGS + variableValue: >- + -DQT_INTERNAL_NO_SBOM_FIND_PYTHON_FRAMEWORK=ON + -DQT_INTERNAL_SBOM_DEFAULT_CHECKS=ON + -DQT_INTERNAL_SBOM_AUDIT=ON + -DQT_INTERNAL_SBOM_AUDIT_NO_ERROR=ON + -DQT_SBOM_PYTHON_INTERP={{.Env.PYTHON3_PATH}} + -DQT_SBOM_PYTHON_APPS_PATH={{.Env.SBOM_PYTHON_APPS_PATH}} + - type: AppendToEnvironmentVariable + variableName: COMMON_CMAKE_ARGS + variableValue: " {{.Env.SBOM_COMMON_ARGS}} " + - type: AppendToEnvironmentVariable + variableName: COMMON_NON_QTBASE_CMAKE_ARGS + variableValue: " {{.Env.SBOM_COMMON_ARGS}} " + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_CMAKE_ARGS + variableValue: " {{.Env.SBOM_COMMON_ARGS}} " + - type: AppendToEnvironmentVariable + variableName: COMMON_NON_QTBASE_TARGET_CMAKE_ARGS + variableValue: " {{.Env.SBOM_COMMON_ARGS}} " + - type: Group instructions: - type: AppendToEnvironmentVariable @@ -438,6 +551,9 @@ instructions: - type: AppendToEnvironmentVariable variableName: COMMON_TEST_CMAKE_ARGS variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS" + - type: AppendToEnvironmentVariable + variableName: COMMON_EXAMPLES_CMAKE_ARGS + variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS" - type: AppendToEnvironmentVariable variableName: COMMON_TARGET_CMAKE_ARGS @@ -448,6 +564,9 @@ instructions: - type: AppendToEnvironmentVariable variableName: COMMON_TARGET_TEST_CMAKE_ARGS variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_EXAMPLES_CMAKE_ARGS + variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS" # Sccache - type: Group @@ -461,6 +580,9 @@ instructions: - type: AppendToEnvironmentVariable variableName: COMMON_TEST_CMAKE_ARGS variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache" + - type: AppendToEnvironmentVariable + variableName: COMMON_EXAMPLES_CMAKE_ARGS + variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache" - type: AppendToEnvironmentVariable variableName: COMMON_TARGET_CMAKE_ARGS @@ -471,6 +593,9 @@ instructions: - type: AppendToEnvironmentVariable variableName: COMMON_TARGET_TEST_CMAKE_ARGS variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_EXAMPLES_CMAKE_ARGS + variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache" enable_if: condition: property property: features @@ -478,6 +603,8 @@ instructions: # Specify a custom examples installation directory, so that the built example binaries are not # packaged into the artifact archive together with the Qt libraries. + # Also specify that during examples deployment, only a subset of examples should be deployed, to + # save time and space. - type: Group instructions: - type: AppendToEnvironmentVariable @@ -486,6 +613,24 @@ instructions: - type: AppendToEnvironmentVariable variableName: COMMON_TARGET_CMAKE_ARGS variableValue: " -DQT_INTERNAL_EXAMPLES_INSTALL_PREFIX={{unixPathSeparators .BuildDir}}/installed_examples" + - type: AppendToEnvironmentVariable + variableName: COMMON_CMAKE_ARGS + variableValue: " -DQT_DEPLOY_MINIMAL_EXAMPLES=ON" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_CMAKE_ARGS + variableValue: " -DQT_DEPLOY_MINIMAL_EXAMPLES=ON" + - type: Group + instructions: + - type: AppendToEnvironmentVariable + variableName: COMMON_CMAKE_ARGS + variableValue: " -DQT_INTERNAL_CI_NO_BUILD_IN_TREE_EXAMPLES=ON" + - type: AppendToEnvironmentVariable + variableName: COMMON_TARGET_CMAKE_ARGS + variableValue: " -DQT_INTERNAL_CI_NO_BUILD_IN_TREE_EXAMPLES=ON" + enable_if: + condition: property + property: features + contains_value: StandaloneExamples enable_if: # Only set the custom installation dir if examples are built. condition: or @@ -579,3 +724,18 @@ instructions: condition: property property: host.os equals_value: Windows + + - type: EnvironmentVariable + variableName: COIN_COMMAND_OUTPUT_TIMEOUT + variableValue: "900" + disable_if: + condition: property + property: features + contains_value: UseAddressSanitizer + - type: EnvironmentVariable + variableName: COIN_COMMAND_OUTPUT_TIMEOUT + variableValue: "10800" + enable_if: + condition: property + property: features + contains_value: UseAddressSanitizer |