qt5base-lts/coin/instructions/cmake_module_build_instructions.yaml
Amir Masoud Abdol d77ce33082 Move Some of the Private CMake Helper Scripts from bin/ to libexec/
After this change, private CMake scripts are mostly live in
`libexec/`, except the `qt-cmake` which will stay in `bin/`.
This doesn't affect the Windows configuration.

- `qt-cmake` stays in `bin/`
- `qt-configure-module` moves into `libexec/`
- `qt-cmake-private` moves into `libexec/`
- `qt-cmake-private-install.cmake` moves into `libexec/`
- `qt-cmake-standalone-test` moves into `libexec/`
- `qt-internal-configure-test` moves into `libexec/`

In cases where `QT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS` is set to
ON, e.g., ANDROID, WASM, both Batch and Bash files will be generated
and placed in `bin/` and `libexec/` accordingly; in both cases,
qt-cmake and qt-cmake.bat will be in `bin/` anyway.

[ChangeLog][CMake] The private Qt CMake scripts, i.e.,
qt-configure-module, qt-cmake-private, qt-cmake-private-install.cmake,
qt-cmake-standalone-test and qt-internal-configure-test were moved
into $prefix/libexec on Unix platforms.

Fixes: QTBUG-107621
Change-Id: Ic4f4ec85f64d2ede0e208bca928959e30be906a6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2022-12-05 18:02:59 +00:00

95 lines
3.2 KiB
YAML

type: Group
instructions:
- type: ChangeDirectory
directory: "{{.SourceDir}}"
- type: MakeDirectory
directory: .git
- type: MakeDirectory
directory: "{{.SourceDir}}_build"
- type: SetBuildDirectory
directory: "{{.SourceDir}}_build"
- type: ChangeDirectory
directory: "{{.BuildDir}}"
- type: EnvironmentVariable
variableName: COIN_CONFIGURE_ARGS
variableValue: "{{.Env.NON_QTBASE_CONFIGURE_ARGS}}"
- type: EnvironmentVariable
variableName: COIN_CMAKE_ARGS
variableValue: "{{.Env.NON_QTBASE_CMAKE_ARGS}} {{.Env.COMMON_NON_QTBASE_CMAKE_ARGS}}"
- type: EnvironmentVariable
variableName: CONFIGURE_ENV_PREFIX
variableValue: "{{.Env.ENV_PREFIX}}"
- !include "{{qt/qtbase}}/call_configure_module.yaml"
- type: EnvironmentVariable
variableName: CMAKE_BUILD_TIMEOUT
variableValue: "6000"
enable_if:
condition: runtime
env_var: CMAKE_BUILD_TIMEOUT
equals_value: null
- type: EnvironmentVariable
variableName: CMAKE_BUILD_OUTPUT_TIMEOUT
variableValue: "1200"
enable_if:
condition: runtime
env_var: CMAKE_BUILD_OUTPUT_TIMEOUT
equals_value: null
- type: ExecuteCommand
command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake --build . --parallel -v"
maxTimeInSeconds: "{{.Env.CMAKE_BUILD_TIMEOUT}}"
maxTimeBetweenOutput: "{{.Env.CMAKE_BUILD_OUTPUT_TIMEOUT}}"
userMessageOnFailure: >
Failed to build sources.
- type: EnvironmentVariable
variableName: COIN_CMAKE_INSTALL_DIR
variableValue: "{{.InstallDir}}"
- type: EnvironmentVariable
variableName: COIN_CMAKE_INSTALL_LIBEXEC_DIR
variableValue: "{{.Env.COIN_CMAKE_INSTALL_DIR}}{{.Env.CI_PATH_SEP}}libexec"
disable_if:
condition: and
conditions:
- condition: property
property: host.os
equals_value: Windows
- condition: property
property: target.osVersion
not_in_values: [WebAssembly, Android_ANY]
- type: EnvironmentVariable
variableName: COIN_CMAKE_INSTALL_LIBEXEC_DIR
variableValue: "{{.Env.COIN_CMAKE_INSTALL_DIR}}{{.Env.CI_PATH_SEP}}bin"
enable_if:
condition: and
conditions:
- condition: property
property: host.os
equals_value: Windows
- 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"
- type: SignPackage
enable_if:
condition: property
property: host.os
equals_value: Windows
directory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 1200
- type: UploadArtifact
archiveDirectory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
transferType: UploadModuleBuildArtifact
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 1200
- type: EnvironmentVariable
variableName: COIN_CONFIG_TYPE
variableValue: "Host"
- !include "{{qt/qtbase}}/qmake/get_qmake_location_host.yaml"
- !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml"