mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-01 11:26:04 +08:00
coin: Allow using configure instead of cmake for top-level builds
This is the qt5 counterpart to the qtbase instructions to allow
using configure instead of cmake when configuring a top-level build.
Task-number: QTQAINFRA-4357
Task-number: QTQAINFRA-4815
Change-Id: Ie5af31f9349a6dd88fa7699d40dad659180814e2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 2ee43055ed)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
committed by
Qt Cherry-pick Bot
parent
02cdd7049d
commit
e071cbc8ec
@@ -7,10 +7,43 @@ instructions:
|
||||
directory: "{{.SourceDir}}"
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
|
||||
- !include "{{qt/qt5}}/prepare_configure_executable.yaml"
|
||||
|
||||
- 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 in the configure script.
|
||||
variableValue: "{{.Env.CMAKE_ARGS}} {{.Env.COMMON_CMAKE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{unixPathSeparators .InstallDir}}"
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_ENV_PREFIX
|
||||
variableValue: "{{.Env.ENV_PREFIX}}"
|
||||
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake {{.Env.CONFIGURE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{.InstallDir}} -DQT_BUILD_TESTS=OFF {{.SourceDir}}"
|
||||
# There is no SourceDir on purpose, because configure is called directly from qtbase,
|
||||
# so the script knows it's own source dir.
|
||||
# TODO: Consider removing these instructions, and using the ones in qtbase/call_configure_qtbase.yaml
|
||||
# once all dependencies are propagated.
|
||||
command: "{{.Env.CONFIGURE_ENV_PREFIX}} {{.Env.CONFIGURE_EXECUTABLE}} {{.Env.COIN_CONFIGURE_ARGS}} -- {{.Env.COIN_CMAKE_ARGS}}"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to call cmake.
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseConfigure
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.CONFIGURE_ENV_PREFIX}} {{.Env.CONFIGURE_EXECUTABLE}} {{.SourceDir}} {{.Env.COIN_CONFIGURE_ARGS}} {{.Env.COIN_CMAKE_ARGS}}"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to call cmake.
|
||||
disable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseConfigure
|
||||
|
||||
37
coin/instructions/prepare_configure_executable.yaml
Normal file
37
coin/instructions/prepare_configure_executable.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
# Call either cmake or configure depending on whether the
|
||||
# UseConfigure platform configuration feature is set.
|
||||
# We should remove the cmake branch, once all platform configurations
|
||||
# are ported to use configure.
|
||||
# TODO: Remove this file, and reference the one in qtbase, once all
|
||||
# all dependencies are propagated.
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseConfigure
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_EXECUTABLE
|
||||
variableValue: "{{.SourceDir}}/configure"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_EXECUTABLE
|
||||
variableValue: "{{.SourceDir}}\\configure.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: Group
|
||||
disable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseConfigure
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_EXECUTABLE
|
||||
variableValue: "cmake"
|
||||
Reference in New Issue
Block a user