diff options
Diffstat (limited to 'coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml')
-rw-r--r-- | coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml | 183 |
1 files changed, 145 insertions, 38 deletions
diff --git a/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml b/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml index 6a51bdc975..84dc535b61 100644 --- a/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml +++ b/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml @@ -7,34 +7,80 @@ instructions: - type: ChangeDirectory directory: "{{.BuildDir}}/build" - type: MakeDirectory - directory: host - - type: MakeDirectory directory: target - - type: SetBuildDirectory - directory: "{{.SourceDir}}/build/host" - - type: ChangeDirectory - directory: "{{.BuildDir}}" - - type: ExecuteCommand - command: "{{.Env.ENV_PREFIX}} cmake {{.Env.CONFIGURE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{.InstallDir}}/host -DBUILD_TESTING=OFF {{.SourceDir}}" - executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution - maxTimeInSeconds: 6000 - maxTimeBetweenOutput: 1200 - userMessageOnFailure: > - Failed to call cmake. - - type: ExecuteCommand - command: "{{.Env.ENV_PREFIX}} cmake --build . --parallel -v" - maxTimeInSeconds: 6000 - maxTimeBetweenOutput: 1200 - userMessageOnFailure: > - Failed to build sources. In the current state bug can be everywhere. - - type: EnvironmentVariable - variableName: COIN_CMAKE_INSTALL_SCRIPT_PATH - variableValue: "{{.BuildDir}}" - - !include "{{qt/qtbase}}/call_host_install.yaml" - - type: EnvironmentVariable - variableName: DESTDIR - variableValue: "{{.InstallRoot}}" - - !include "{{qt/qtbase}}/call_host_install.yaml" + - type: Group + instructions: + - type: MakeDirectory + directory: host + - type: SetBuildDirectory + directory: "{{.SourceDir}}/build/host" + - type: ChangeDirectory + directory: "{{.BuildDir}}" + + - type: EnvironmentVariable + variableName: COIN_CONFIGURE_ARGS + variableValue: "{{.Env.CONFIGURE_ARGS}}" + - type: EnvironmentVariable + variableName: COIN_CMAKE_ARGS + # Use unix separators even on Windows, to avoid escaping issues the in configure script. + variableValue: "{{.Env.CMAKE_ARGS}} {{.Env.COMMON_CMAKE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{unixPathSeparators .InstallDir}}/host" + - type: EnvironmentVariable + variableName: CONFIGURE_ENV_PREFIX + variableValue: "{{.Env.ENV_PREFIX}}" + - !include "{{qt/qtbase}}/call_configure_qtbase.yaml" + + - type: ExecuteCommand + command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake --build . --parallel -v" + maxTimeInSeconds: 6000 + maxTimeBetweenOutput: 4800 + userMessageOnFailure: > + Failed to build sources. + - type: EnvironmentVariable + variableName: COIN_CMAKE_BUILD_DIR + variableValue: "{{.BuildDir}}" + - type: EnvironmentVariable + variableName: COIN_CMAKE_BUILD_LIBEXEC_DIR + variableValue: "{{.BuildDir}}{{.Env.CI_PATH_SEP}}libexec" + disable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Windows + - condition: and + conditions: + - condition: property + property: target.os + not_equals_value: QNX + - condition: property + property: target.osVersion + not_in_values: [WebAssembly, Android_ANY] + - type: EnvironmentVariable + variableName: COIN_CMAKE_BUILD_LIBEXEC_DIR + variableValue: "{{.BuildDir}}{{.Env.CI_PATH_SEP}}bin" + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Windows + - condition: and + conditions: + - condition: property + property: target.os + not_equals_value: QNX + - condition: property + property: target.osVersion + not_in_values: [WebAssembly, Android_ANY] + - !include "{{qt/qtbase}}/call_host_install.yaml" + - type: EnvironmentVariable + variableName: DESTDIR + variableValue: "{{.InstallRoot}}" + - !include "{{qt/qtbase}}/call_host_install.yaml" + enable_if: + condition: property + property: platformDependency + equals_value: null - type: EnvironmentVariable variableName: DESTDIR variableValue: "" @@ -42,22 +88,77 @@ instructions: directory: "{{.SourceDir}}/build/target" - type: ChangeDirectory directory: "{{.BuildDir}}" + + - type: AppendToEnvironmentVariable + variableName: TARGET_CMAKE_ARGS + variableValue: " -DQT_HOST_PATH={{.AgentWorkingDir}}/install" + disable_if: + condition: property + property: platformDependency + equals_value: null + - type: AppendToEnvironmentVariable + variableName: TARGET_CMAKE_ARGS + variableValue: " -DQT_HOST_PATH={{.InstallDir}}/host" + enable_if: + condition: property + property: platformDependency + equals_value: null + + - type: EnvironmentVariable + variableName: COIN_CONFIGURE_ARGS + variableValue: "{{.Env.TARGET_CONFIGURE_ARGS}}" + - type: EnvironmentVariable + variableName: COIN_CMAKE_ARGS + # Use unix separators even on Windows, to avoid escaping issues in the configure script. + variableValue: "{{.Env.TARGET_CMAKE_ARGS}} {{.Env.COMMON_TARGET_CMAKE_ARGS}} -DCMAKE_STAGING_PREFIX:PATH={{unixPathSeparators .InstallDir}}/target" + - type: EnvironmentVariable + variableName: CONFIGURE_ENV_PREFIX + variableValue: "{{.Env.TARGET_ENV_PREFIX}}" + - !include "{{qt/qtbase}}/call_configure_qtbase.yaml" + - type: ExecuteCommand - command: "{{.Env.TARGET_ENV_PREFIX}} cmake {{.Env.TARGET_CONFIGURE_ARGS}} -DQT_HOST_PATH={{.InstallDir}}/host -DCMAKE_INSTALL_PREFIX:PATH={{.InstallDir}}/target -DBUILD_TESTING=OFF {{.SourceDir}}" - executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution - maxTimeInSeconds: 6000 - maxTimeBetweenOutput: 1200 - userMessageOnFailure: > - Failed to call cmake. - - type: ExecuteCommand - command: "{{.Env.TARGET_ENV_PREFIX}} cmake --build . --parallel -v" + command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake --build . --parallel -v" maxTimeInSeconds: 6000 - maxTimeBetweenOutput: 1200 + maxTimeBetweenOutput: 4800 userMessageOnFailure: > - Failed to build sources. In the current state bug can be everywhere. + Failed to build sources. - type: EnvironmentVariable - variableName: COIN_CMAKE_INSTALL_SCRIPT_PATH + variableName: COIN_CMAKE_BUILD_DIR variableValue: "{{.BuildDir}}" + - type: EnvironmentVariable + variableName: COIN_CMAKE_BUILD_LIBEXEC_DIR + variableValue: "{{.Env.COIN_CMAKE_BUILD_DIR}}{{.Env.CI_PATH_SEP}}libexec" + disable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Windows + - condition: and + conditions: + - condition: property + property: target.os + not_equals_value: QNX + - condition: property + property: target.osVersion + not_in_values: [WebAssembly, Android_ANY] + - type: EnvironmentVariable + variableName: COIN_CMAKE_BUILD_LIBEXEC_DIR + variableValue: "{{.Env.COIN_CMAKE_BUILD_DIR}}{{.Env.CI_PATH_SEP}}bin" + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Windows + - condition: and + conditions: + - condition: property + property: target.os + not_equals_value: QNX + - condition: property + property: target.osVersion + not_in_values: [WebAssembly, Android_ANY] - !include "{{qt/qtbase}}/call_target_install.yaml" - type: EnvironmentVariable variableName: DESTDIR @@ -71,3 +172,9 @@ instructions: transferType: UploadModuleBuildArtifact maxTimeInSeconds: 1200 maxTimeBetweenOutput: 1200 + - type: EnvironmentVariable + variableName: COIN_CONFIG_TYPE + variableValue: "Target" + - !include "{{qt/qtbase}}/cmake_build_standalone_examples_target.yaml" + - !include "{{qt/qtbase}}/qmake/get_qmake_location_target.yaml" + - !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml" |