From 941039356df56dfbf5a4b4f828a577ca8b8fb025 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Mon, 18 May 2020 17:05:50 +0200 Subject: CMake: Use the same generator when building other repositories If we configure qtbase with Ninja Multi-Config, we should use the same generator when building other repositories as well, to ensure that all repositories have the same set of configurations (debug and release). To do that, the Coin instructions will call the qt-cmake-private wrapper which records the generator used. For standalone tests continue to use qt-cmake, so that only a single configuration is built (no need to build tests in both debug and release mode). The configuration built will be the first one from the initial list with which qtbase was configured (usually RelWithDebiInfo). This is ensured by the QtBuildInternalsExtraConfig.cmake file. Task-number: QTBUG-80900 Change-Id: I701b2f652a22d51e640a6fdf19c3b2d2dfb34d5c Reviewed-by: Simon Hausmann --- coin/instructions/call_cmake.yaml | 4 ++-- .../call_cmake_for_standalone_tests.yaml | 24 ++++++++++++++++++++++ coin/instructions/call_host_cmake.yaml | 4 ++-- coin/instructions/call_target_cmake.yaml | 4 ++-- .../cmake_build_and_upload_test_artifacts.yaml | 2 +- 5 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 coin/instructions/call_cmake_for_standalone_tests.yaml (limited to 'coin') diff --git a/coin/instructions/call_cmake.yaml b/coin/instructions/call_cmake.yaml index bbebd6af33..96227c1f6a 100644 --- a/coin/instructions/call_cmake.yaml +++ b/coin/instructions/call_cmake.yaml @@ -1,7 +1,7 @@ type: Group instructions: - type: ExecuteCommand - command: "{{.Env.ENV_PREFIX}} {{.InstallDir}}\\bin\\qt-cmake {{.Env.COIN_CMAKE_ARGS}}" + command: "{{.Env.ENV_PREFIX}} {{.InstallDir}}\\bin\\qt-cmake-private {{.Env.COIN_CMAKE_ARGS}}" executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 6000 maxTimeBetweenOutput: 1200 @@ -12,7 +12,7 @@ instructions: property: host.os equals_value: Windows - type: ExecuteCommand - command: "{{.InstallDir}}/bin/qt-cmake {{.Env.COIN_CMAKE_ARGS}}" + command: "{{.InstallDir}}/bin/qt-cmake-private {{.Env.COIN_CMAKE_ARGS}}" executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 6000 maxTimeBetweenOutput: 1200 diff --git a/coin/instructions/call_cmake_for_standalone_tests.yaml b/coin/instructions/call_cmake_for_standalone_tests.yaml new file mode 100644 index 0000000000..bbebd6af33 --- /dev/null +++ b/coin/instructions/call_cmake_for_standalone_tests.yaml @@ -0,0 +1,24 @@ +type: Group +instructions: + - type: ExecuteCommand + command: "{{.Env.ENV_PREFIX}} {{.InstallDir}}\\bin\\qt-cmake {{.Env.COIN_CMAKE_ARGS}}" + executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution + maxTimeInSeconds: 6000 + maxTimeBetweenOutput: 1200 + userMessageOnFailure: > + Failed to call cmake. + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: ExecuteCommand + command: "{{.InstallDir}}/bin/qt-cmake {{.Env.COIN_CMAKE_ARGS}}" + executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution + maxTimeInSeconds: 6000 + maxTimeBetweenOutput: 1200 + userMessageOnFailure: > + Failed to call cmake. + disable_if: + condition: property + property: host.os + equals_value: Windows diff --git a/coin/instructions/call_host_cmake.yaml b/coin/instructions/call_host_cmake.yaml index f2056966b0..4182f9b622 100644 --- a/coin/instructions/call_host_cmake.yaml +++ b/coin/instructions/call_host_cmake.yaml @@ -1,7 +1,7 @@ type: Group instructions: - type: ExecuteCommand - command: "{{.Env.ENV_PREFIX}} {{.InstallDir}}\\host\\bin\\qt-cmake {{.Env.COIN_CMAKE_ARGS}}" + command: "{{.Env.ENV_PREFIX}} {{.InstallDir}}\\host\\bin\\qt-cmake-private {{.Env.COIN_CMAKE_ARGS}}" executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 6000 maxTimeBetweenOutput: 1200 @@ -12,7 +12,7 @@ instructions: property: host.os equals_value: Windows - type: ExecuteCommand - command: "{{.InstallDir}}/host/bin/qt-cmake {{.Env.COIN_CMAKE_ARGS}}" + command: "{{.InstallDir}}/host/bin/qt-cmake-private {{.Env.COIN_CMAKE_ARGS}}" executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 6000 maxTimeBetweenOutput: 1200 diff --git a/coin/instructions/call_target_cmake.yaml b/coin/instructions/call_target_cmake.yaml index 5f687a96fd..e8dc7f3f97 100644 --- a/coin/instructions/call_target_cmake.yaml +++ b/coin/instructions/call_target_cmake.yaml @@ -1,7 +1,7 @@ type: Group instructions: - type: ExecuteCommand - command: "{{.Env.TARGET_ENV_PREFIX}} {{.InstallDir}}\\target\\bin\\qt-cmake {{.Env.COIN_CMAKE_ARGS}}" + command: "{{.Env.TARGET_ENV_PREFIX}} {{.InstallDir}}\\target\\bin\\qt-cmake-private {{.Env.COIN_CMAKE_ARGS}}" executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 6000 maxTimeBetweenOutput: 1200 @@ -12,7 +12,7 @@ instructions: property: host.os equals_value: Windows - type: ExecuteCommand - command: "{{.Env.TARGET_ENV_PREFIX}} {{.InstallDir}}/target/bin/qt-cmake {{.Env.COIN_CMAKE_ARGS}}" + command: "{{.Env.TARGET_ENV_PREFIX}} {{.InstallDir}}/target/bin/qt-cmake-private {{.Env.COIN_CMAKE_ARGS}}" executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution maxTimeInSeconds: 6000 maxTimeBetweenOutput: 1200 diff --git a/coin/instructions/cmake_build_and_upload_test_artifacts.yaml b/coin/instructions/cmake_build_and_upload_test_artifacts.yaml index 2df45ff07e..92e2816346 100644 --- a/coin/instructions/cmake_build_and_upload_test_artifacts.yaml +++ b/coin/instructions/cmake_build_and_upload_test_artifacts.yaml @@ -11,7 +11,7 @@ instructions: - type: EnvironmentVariable variableName: COIN_CMAKE_ARGS variableValue: "-DQT_BUILD_STANDALONE_TESTS=ON -S {{.SourceDir}} -B ." - - !include "{{qt/qtbase}}/call_cmake.yaml" + - !include "{{qt/qtbase}}/call_cmake_for_standalone_tests.yaml" - type: ExecuteCommand command: "{{.Env.ENV_PREFIX}} cmake --build . --parallel -v" maxTimeInSeconds: 6000 -- cgit v1.2.3