summaryrefslogtreecommitdiffstats
path: root/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2020-05-15 11:38:53 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-05-19 10:16:11 +0200
commitb3e01d608eb39302914c45af7aa18e3178d1309c (patch)
tree550835fc9d9a449bd9e729d4908cdfd70d6e1fbd /coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
parentf240d94f140ba1614828804efafd2fc5e6d00099 (diff)
CMake: Use custom install script to support Ninja Multi-Config builds
Calling cmake --install . only installs a single configuration. To install both debug and release artifacts, the install invocation needs to be done for each configuration. To keep the Coin instruction code simpler, delegate the looping over configurations to a custom CMake script, and use it in the Coin instructions. Replace all cmake --install calls in the instructions with calls to either call_host_install.yaml or call_target_install.yaml. The path to the script depends on whether we are building qtbase or another module. In the former case the script should be called from the build dir, otherwise from the install dir. The other distinction is whether the host or target env prefix needs to be added. Task-number: QTBUG-80900 Change-Id: Ied4bf739e2b1a2307f22fc79c1cfad746c8cbc44 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml')
-rw-r--r--coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml34
1 files changed, 10 insertions, 24 deletions
diff --git a/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml b/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
index 5a14ee0b87..6a51bdc975 100644
--- a/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
+++ b/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
@@ -27,21 +27,14 @@ instructions:
maxTimeBetweenOutput: 1200
userMessageOnFailure: >
Failed to build sources. In the current state bug can be everywhere.
- - type: ExecuteCommand
- command: "{{.Env.ENV_PREFIX}} cmake --install ."
- maxTimeInSeconds: 6000
- maxTimeBetweenOutput: 1200
- userMessageOnFailure: >
- Failed to install package.
+ - type: EnvironmentVariable
+ variableName: COIN_CMAKE_INSTALL_SCRIPT_PATH
+ variableValue: "{{.BuildDir}}"
+ - !include "{{qt/qtbase}}/call_host_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
variableValue: "{{.InstallRoot}}"
- - type: ExecuteCommand
- command: "{{.Env.ENV_PREFIX}} cmake --install ."
- maxTimeInSeconds: 6000
- maxTimeBetweenOutput: 1200
- userMessageOnFailure: >
- Failed to install package for archiving.
+ - !include "{{qt/qtbase}}/call_host_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
variableValue: ""
@@ -62,21 +55,14 @@ instructions:
maxTimeBetweenOutput: 1200
userMessageOnFailure: >
Failed to build sources. In the current state bug can be everywhere.
- - type: ExecuteCommand
- command: "{{.Env.TARGET_ENV_PREFIX}} cmake --install ."
- maxTimeInSeconds: 6000
- maxTimeBetweenOutput: 1200
- userMessageOnFailure: >
- Failed to install package.
+ - type: EnvironmentVariable
+ variableName: COIN_CMAKE_INSTALL_SCRIPT_PATH
+ variableValue: "{{.BuildDir}}"
+ - !include "{{qt/qtbase}}/call_target_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
variableValue: "{{.InstallRoot}}"
- - type: ExecuteCommand
- command: "{{.Env.TARGET_ENV_PREFIX}} cmake --install ."
- maxTimeInSeconds: 6000
- maxTimeBetweenOutput: 1200
- userMessageOnFailure: >
- Failed to install package for archiving.
+ - !include "{{qt/qtbase}}/call_target_install.yaml"
- type: EnvironmentVariable
variableName: DESTDIR
variableValue: ""