mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-07-05 00:35:27 +08:00
qt 6.5.1 original
This commit is contained in:
78
coin/instructions/README.md
Normal file
78
coin/instructions/README.md
Normal file
@ -0,0 +1,78 @@
|
||||
# Information about Coin instruction templates
|
||||
|
||||
## Build templates
|
||||
|
||||
* ``coin_qtbase_build_template_v2.yaml`` did not exist. The build instructions were directly embedded into
|
||||
``module_config.yaml`` and did not support repos outside of qtbase, also no cross-compilation.
|
||||
* ``coin_qtbase_build_template_v2`` introduced support for building other repos, and also enabled
|
||||
build cross-compiling targets like ``Android`` and ``iOS``.
|
||||
A bit later the template gained the ability to build ``qemu`` cross-compiling configurations.
|
||||
The counterpart to qtbase to build other repositories is ``coin_module_build_template_v2``
|
||||
|
||||
## Test templates
|
||||
|
||||
* ``coin_module_test_template_v1`` did not exist. The test instructions were directly embedded into
|
||||
``module_config.yaml`` and did not support repos outside of qtbase, also no cross-compilation.
|
||||
* ``coin_module_test_template_v2`` introduced support for building tests for other repos, and made
|
||||
sure not to build and run tests on cross-compiling configuration. A bit later the template gained
|
||||
the ability to build and run tests for ``qemu`` cross-compiling configurations.
|
||||
* ``coin_module_test_template_v3`` changed the run test instructions to not ignore the exit code
|
||||
and thus enforce that tests pass in the CI.
|
||||
|
||||
# Environment variable description and usage
|
||||
|
||||
The following environment variables are used in Coin instructions when building Qt, tests, etc:
|
||||
|
||||
`CONFIGURE_ARGS` - contains platform-specific ``configure-style`` arguments
|
||||
(e.g. `-shared`), that will be passed to a qtbase configure call
|
||||
`CMAKE_ARGS` - contains platform-specific ``CMake-style`` arguments
|
||||
(e.g. `-DOPENSSL_ROOT_DIR=Foo`) that will be passed to a qtbase
|
||||
configure call
|
||||
`NON_QTBASE_CONFIGURE_ARGS` - contains platform-specific ``configure-style`` arguments
|
||||
that will be passed to a non-qtbase qt-configure-module call
|
||||
`NON_QTBASE_CMAKE_ARGS` - contains platform-specific ``CMake-style`` arguments
|
||||
that will be passed to a non-qtbase qt-configure-module call
|
||||
`COMMON_CMAKE_ARGS` - platform-independent ``CMake-style`` args set in
|
||||
`prepare_building_env.yaml` that apply to qtbase configurations
|
||||
only.
|
||||
`COMMON_NON_QTBASE_CMAKE_ARGS` - platform-independent ``CMake-style`` args set in
|
||||
`prepare_building_env.yaml` that apply to
|
||||
configuration of repos other than qtbase
|
||||
`COMMON_TEST_CMAKE_ARGS` - platform-independent ``CMake-style`` args set in
|
||||
`prepare_building_env.yaml` that apply to configuration of
|
||||
all standalone tests
|
||||
|
||||
All of the above apply to host builds only.
|
||||
|
||||
There is a a set of environment variables that apply to target builds when cross-compiling which
|
||||
mirror the ones above. They are:
|
||||
|
||||
`TARGET_CONFIGURE_ARGS`
|
||||
`TARGET_CMAKE_ARGS`
|
||||
`NON_QTBASE_TARGET_CONFIGURE_ARGS`
|
||||
`NON_QTBASE_TARGET_CMAKE_ARGS`
|
||||
|
||||
`COMMON_TARGET_CMAKE_ARGS`
|
||||
`COMMON_NON_QTBASE_TARGET_CMAKE_ARGS`
|
||||
`COMMON_TARGET_TEST_CMAKE_ARGS`
|
||||
|
||||
Currently, there are no common ``configure-style`` variables for configuring
|
||||
repos or tests, only ``CMake-style` ones.
|
||||
|
||||
|
||||
`COIN_CMAKE_ARGS` contains the final set of cmake args that is passed to
|
||||
`configure` / `qt-configure-module`, it is built up from the variables above + any additional values added
|
||||
by custom instructions, like specification of `CMAKE_INSTALL_PREFIX` etc.
|
||||
|
||||
`INSTALL_DIR_SUFFIX` is used to append either `/host` or `/target` suffixes to install paths in
|
||||
instructions when cross-building.
|
||||
|
||||
`CONFIGURE_EXECUTABLE` contains a platform-specific path to `configure` / `qt-configure-module`
|
||||
or `cmake`/ `qt-cmake` depending on whether `UseConfigure` feature is enabled.
|
||||
|
||||
`CONFIGURE_ENV_PREFIX` contains the value of either `ENV_PREFIX` or `TARGET_ENV_PREFIX` depending on
|
||||
whether it's a cross-build configure call. The values are used when configuring and building, to ensure
|
||||
that things like compilers are found correctly.
|
||||
|
||||
We use `unixPathSeparators` to pass an install prefix with forward slashes even on Windows,
|
||||
to avoid escaping issues when using configure.
|
26
coin/instructions/call_cmake_for_standalone_tests.yaml
Normal file
26
coin/instructions/call_cmake_for_standalone_tests.yaml
Normal file
@ -0,0 +1,26 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.TESTS_ENV_PREFIX}} {{.Env.INSTALL_DIR_FOR_CMAKE_TESTS}}\\bin\\qt-internal-configure-tests {{.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: "{{.Env.TESTS_ENV_PREFIX}} {{.Env.INSTALL_DIR_FOR_CMAKE_TESTS}}/libexec/qt-internal-configure-tests {{.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
|
25
coin/instructions/call_configure_module.yaml
Normal file
25
coin/instructions/call_configure_module.yaml
Normal file
@ -0,0 +1,25 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/prepare_configure_module_executable.yaml"
|
||||
- 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.
|
||||
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
|
27
coin/instructions/call_configure_qtbase.yaml
Normal file
27
coin/instructions/call_configure_qtbase.yaml
Normal file
@ -0,0 +1,27 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/prepare_configure_executable.yaml"
|
||||
- type: ExecuteCommand
|
||||
# There is no SourceDir on purpose, because configure is called directly from qtbase,
|
||||
# so the script knows it's own source dir.
|
||||
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
|
24
coin/instructions/call_host_install.yaml
Normal file
24
coin/instructions/call_host_install.yaml
Normal file
@ -0,0 +1,24 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake -DQT_BUILD_DIR={{.BuildDir}} -P {{.Env.COIN_CMAKE_BUILD_LIBEXEC_DIR}}{{.Env.CI_PATH_SEP}}qt-cmake-private-install.cmake"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
enable_if:
|
||||
condition: runtime
|
||||
env_var: TESTED_MODULE_COIN
|
||||
equals_value: qtbase
|
||||
userMessageOnFailure: >
|
||||
Failed to install package.
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake -DQT_BUILD_DIR={{.BuildDir}} -P {{.Env.COIN_CMAKE_INSTALL_LIBEXEC_DIR}}{{.Env.CI_PATH_SEP}}qt-cmake-private-install.cmake"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
disable_if:
|
||||
condition: runtime
|
||||
env_var: TESTED_MODULE_COIN
|
||||
equals_value: qtbase
|
||||
userMessageOnFailure: >
|
||||
Failed to install package.
|
24
coin/instructions/call_target_install.yaml
Normal file
24
coin/instructions/call_target_install.yaml
Normal file
@ -0,0 +1,24 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.TARGET_ENV_PREFIX}} cmake -DQT_BUILD_DIR={{.BuildDir}} -P {{.Env.COIN_CMAKE_BUILD_LIBEXEC_DIR}}{{.Env.CI_PATH_SEP}}qt-cmake-private-install.cmake"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
enable_if:
|
||||
condition: runtime
|
||||
env_var: TESTED_MODULE_COIN
|
||||
equals_value: qtbase
|
||||
userMessageOnFailure: >
|
||||
Failed to install package.
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.TARGET_ENV_PREFIX}} cmake -DQT_BUILD_DIR={{.BuildDir}} -P {{.Env.COIN_CMAKE_INSTALL_LIBEXEC_DIR}}{{.Env.CI_PATH_SEP}}qt-cmake-private-install.cmake"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
disable_if:
|
||||
condition: runtime
|
||||
env_var: TESTED_MODULE_COIN
|
||||
equals_value: qtbase
|
||||
userMessageOnFailure: >
|
||||
Failed to install package.
|
76
coin/instructions/cmake_build_and_upload_test_artifacts.yaml
Normal file
76
coin/instructions/cmake_build_and_upload_test_artifacts.yaml
Normal file
@ -0,0 +1,76 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.SourceDir}}"
|
||||
- type: MakeDirectory
|
||||
directory: "{{.SourceDir}}_standalone_tests"
|
||||
- type: SetBuildDirectory
|
||||
directory: "{{.SourceDir}}_standalone_tests"
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: " -S {{.SourceDir}} -B ."
|
||||
disable_if:
|
||||
condition: runtime
|
||||
env_var: COIN_CMAKE_ARGS
|
||||
equals_value: null
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: "-S {{.SourceDir}} -B ."
|
||||
enable_if:
|
||||
condition: runtime
|
||||
env_var: COIN_CMAKE_ARGS
|
||||
equals_value: null
|
||||
|
||||
# Set an informational build environment env var during the an integration's build phase.
|
||||
# It can be checked during Qt and standalone tests configuration (so configure,
|
||||
# qt-configure-module and qt-internal-configure-tests time).
|
||||
# It's currently needed for some CMake autotest iOS-specific decisions, but it could be useful
|
||||
# for other scenarios as well.
|
||||
#
|
||||
# A related QTEST_ENVIRONMENT env var is set during an integration's test phase.
|
||||
#
|
||||
# Note that CMake auto tests are configured and built during the /test/ phase, NOT the build
|
||||
# phase.
|
||||
# BUT, the options that will be passed to the project cmake invocation in the test phase, are
|
||||
# decided during the /build/ phase.
|
||||
- type: EnvironmentVariable
|
||||
variableName: QT_BUILD_ENVIRONMENT
|
||||
variableValue: "ci"
|
||||
|
||||
# Inform CMake to build just a minimal set of tests for static Qt builds.
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: " -DQT_BUILD_MINIMAL_STATIC_TESTS=ON"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: "MinimalStaticTests"
|
||||
|
||||
# Inform CMake to build just a minimal set of tests for Android multi-ABI Qt builds.
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: " -DQT_BUILD_MINIMAL_ANDROID_MULTI_ABI_TESTS=ON"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: "MinimalAndroidMultiABITests"
|
||||
|
||||
- !include "{{qt/qtbase}}/call_cmake_for_standalone_tests.yaml"
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.TESTS_ENV_PREFIX}} cmake --build . --parallel -v"
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 4800
|
||||
userMessageOnFailure: >
|
||||
Failed to build sources.
|
||||
- type: UploadTestArtifact
|
||||
transferType: UploadModuleTestsArtifact
|
||||
archiveDirectory: "{{.BuildDir}}"
|
||||
maxTimeInSeconds: 1200
|
||||
maxTimeBetweenOutput: 1200
|
||||
# INTEGRITY artifacts aren't used.
|
||||
disable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
equals_value: INTEGRITY
|
@ -0,0 +1,18 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: TESTS_ENV_PREFIX
|
||||
variableValue: "{{.Env.ENV_PREFIX}}"
|
||||
- type: EnvironmentVariable
|
||||
variableName: INSTALL_DIR_FOR_CMAKE_TESTS
|
||||
variableValue: "{{.InstallDir}}"
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: "{{.Env.COMMON_TEST_CMAKE_ARGS}}"
|
||||
- !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts.yaml"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: DisableTests
|
@ -0,0 +1,39 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: TESTS_ENV_PREFIX
|
||||
variableValue: "{{.Env.TARGET_ENV_PREFIX}}"
|
||||
- type: EnvironmentVariable
|
||||
variableName: INSTALL_DIR_FOR_CMAKE_TESTS
|
||||
variableValue: "{{.InstallDir}}\\target"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: INSTALL_DIR_FOR_CMAKE_TESTS
|
||||
variableValue: "{{.InstallDir}}/target"
|
||||
disable_if:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
equals_value: Android_ANY
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_value: Multi
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: "{{.Env.COMMON_TARGET_TEST_CMAKE_ARGS}}"
|
||||
- !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts.yaml"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: DisableTests
|
@ -0,0 +1,158 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- 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: MakeDirectory
|
||||
directory: .git
|
||||
- type: MakeDirectory
|
||||
directory: build
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}/build"
|
||||
- type: MakeDirectory
|
||||
directory: target
|
||||
- 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.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}}/prepare_install_dir_suffix_host.yaml"
|
||||
- !include "{{qt/qtbase}}/call_configure_module.yaml"
|
||||
|
||||
- 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}}{{.Env.CI_PATH_SEP}}host"
|
||||
- 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: "{{.InstallDir}}{{.Env.CI_PATH_SEP}}host{{.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"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: platformDependency
|
||||
equals_value: null
|
||||
- type: EnvironmentVariable
|
||||
variableName: DESTDIR
|
||||
variableValue: ""
|
||||
- type: SetBuildDirectory
|
||||
directory: "{{.SourceDir}}/build/target"
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CONFIGURE_ARGS
|
||||
variableValue: "{{.Env.NON_QTBASE_TARGET_CONFIGURE_ARGS}}"
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: "{{.Env.NON_QTBASE_TARGET_CMAKE_ARGS}} {{.Env.COMMON_NON_QTBASE_TARGET_CMAKE_ARGS}}"
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_ENV_PREFIX
|
||||
variableValue: "{{.Env.TARGET_ENV_PREFIX}}"
|
||||
- !include "{{qt/qtbase}}/prepare_install_dir_suffix_target.yaml"
|
||||
- !include "{{qt/qtbase}}/call_configure_module.yaml"
|
||||
|
||||
- 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}}{{.Env.CI_PATH_SEP}}target"
|
||||
- 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: "{{.InstallDir}}{{.Env.CI_PATH_SEP}}target{{.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_target_install.yaml"
|
||||
- type: EnvironmentVariable
|
||||
variableName: DESTDIR
|
||||
variableValue: "{{.InstallRoot}}"
|
||||
- !include "{{qt/qtbase}}/call_target_install.yaml"
|
||||
- type: EnvironmentVariable
|
||||
variableName: DESTDIR
|
||||
variableValue: ""
|
||||
- type: UploadArtifact
|
||||
archiveDirectory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
|
||||
transferType: UploadModuleBuildArtifact
|
||||
maxTimeInSeconds: 1200
|
||||
maxTimeBetweenOutput: 1200
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CONFIG_TYPE
|
||||
variableValue: "Target"
|
||||
- !include "{{qt/qtbase}}/qmake/get_qmake_location_target.yaml"
|
||||
- !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml"
|
@ -0,0 +1,159 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: MakeDirectory
|
||||
directory: .git
|
||||
- type: MakeDirectory
|
||||
directory: build
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}/build"
|
||||
- type: MakeDirectory
|
||||
directory: target
|
||||
- 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: 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: 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: ""
|
||||
- type: SetBuildDirectory
|
||||
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.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: "{{.Env.COIN_CMAKE_BUILD_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_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: property
|
||||
property: target.osVersion
|
||||
not_in_values: [WebAssembly, Android_ANY]
|
||||
- !include "{{qt/qtbase}}/call_target_install.yaml"
|
||||
- type: EnvironmentVariable
|
||||
variableName: DESTDIR
|
||||
variableValue: "{{.InstallRoot}}"
|
||||
- !include "{{qt/qtbase}}/call_target_install.yaml"
|
||||
- type: EnvironmentVariable
|
||||
variableName: DESTDIR
|
||||
variableValue: ""
|
||||
- type: UploadArtifact
|
||||
archiveDirectory: "{{.InstallRoot}}/{{.AgentWorkingDir}}"
|
||||
transferType: UploadModuleBuildArtifact
|
||||
maxTimeInSeconds: 1200
|
||||
maxTimeBetweenOutput: 1200
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CONFIG_TYPE
|
||||
variableValue: "Target"
|
||||
- !include "{{qt/qtbase}}/qmake/get_qmake_location_target.yaml"
|
||||
- !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_instructions.yaml"
|
38
coin/instructions/cmake_documentation_build.yaml
Normal file
38
coin/instructions/cmake_documentation_build.yaml
Normal file
@ -0,0 +1,38 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.SourceDir}}_build"
|
||||
# If documentation feature is present, Coin installs top-level documentation
|
||||
# built by product(qt5) build into <module_name>_doc_build/doc. Coin will
|
||||
# silently omit installing the top-level documentations if not built by the product.
|
||||
- type: ExecuteCommand
|
||||
command: "rsync -a {{.SourceDir}}_doc_build/doc {{.SourceDir}}_build"
|
||||
maxTimeInSeconds: 300
|
||||
maxTimeBetweenOutput: 300
|
||||
userMessageOnFailure: Failed to copy top-level docs to build dir.
|
||||
# Filter list is created to exclude everything else than the
|
||||
# generated documentation from the documentation archive.
|
||||
- type: CreateFileListFromDirectory
|
||||
directory: "{{.SourceDir}}_build/doc"
|
||||
filterListFileName: "doc_build_filter"
|
||||
userMessageOnFailure: "Failed to create filter list for docs"
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake --build . --target docs -v"
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: Failed to generate documentation.
|
||||
- type: UploadArtifact
|
||||
archiveDirectory: "{{.SourceDir}}_build/doc"
|
||||
transferType: UploadModuleDocumentation
|
||||
filterListFileName: "doc_build_filter"
|
||||
maxTimeInSeconds: 1200
|
||||
maxTimeBetweenOutput: 1200
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: features
|
||||
contains_value: Documentation
|
||||
- condition: runtime
|
||||
env_var: BUILD_DOCUMENTATION
|
||||
not_equals_value: null
|
94
coin/instructions/cmake_module_build_instructions.yaml
Normal file
94
coin/instructions/cmake_module_build_instructions.yaml
Normal file
@ -0,0 +1,94 @@
|
||||
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"
|
81
coin/instructions/cmake_qtbase_build_instructions.yaml
Normal file
81
coin/instructions/cmake_qtbase_build_instructions.yaml
Normal file
@ -0,0 +1,81 @@
|
||||
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.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}}"
|
||||
- !include "{{qt/qtbase}}/call_configure_qtbase.yaml"
|
||||
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake --build . --parallel -v"
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to build sources.
|
||||
- type: EnvironmentVariable
|
||||
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: 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: 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"
|
8
coin/instructions/cmake_regular_test_instructions.yaml
Normal file
8
coin/instructions/cmake_regular_test_instructions.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_regular_test_instructions_common.yaml"
|
||||
- !include "{{qt/qtbase}}/cmake_run_ctest_ignore_exit_code.yaml"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: configureArgs
|
||||
contains_value: "-DBUILD_SHARED_LIBS=OFF"
|
@ -0,0 +1,13 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: MakeDirectory
|
||||
directory: "{{.SourceDir}}_standalone_tests"
|
||||
- type: InstallTestBinaryArchive
|
||||
relativeStoragePath: "{{.Env.MODULE_ARTIFACTS_RELATIVE_STORAGE_PATH}}/tests.tar.gz"
|
||||
directory: "{{.SourceDir}}_standalone_tests"
|
||||
maxTimeInSeconds: 1200
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to install tests archive.
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.SourceDir}}_standalone_tests"
|
@ -0,0 +1,4 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_regular_test_instructions_common.yaml"
|
||||
- !include "{{qt/qtbase}}/cmake_run_ctest_enforce_exit_code.yaml"
|
117
coin/instructions/cmake_run_ctest_enforce_exit_code.yaml
Normal file
117
coin/instructions/cmake_run_ctest_enforce_exit_code.yaml
Normal file
@ -0,0 +1,117 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: ScheduleUploadTestResults
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.Env.PYTHON3_PATH}}:"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: TESTRUNNER
|
||||
variableValue: "{{.Env.LIBEXEC_INSTALL_DIR}}qt-testrunner.py --"
|
||||
# Running wasm tests with the coin testrunner is not yet implemented
|
||||
disable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
in_values: [WebAssembly]
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: TESTRUNNER
|
||||
variableValue: " {{.SourceDir}}/coin_qnx_qemu_runner.sh"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
in_values: [QNX_710]
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseAddressSanitizer
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: ASAN_OPTIONS
|
||||
variableValue: "malloc_context_size=100:detect_leaks=0"
|
||||
- type: EnvironmentVariable
|
||||
# Override qt-testrunner as we don't want to gather test statistics
|
||||
# because many tests FAIL when built with ASAN.
|
||||
variableName: TESTRUNNER
|
||||
variableValue: "{{.Env.LIBEXEC_INSTALL_DIR}}sanitizer-testrunner.py"
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CTEST_RESULTSDIR
|
||||
variableValue: "{{.AgentWorkingDir}}\\testresults"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CTEST_RESULTSDIR
|
||||
variableValue: "{{.AgentWorkingDir}}/testresults"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: CTEST_ARGS
|
||||
variableValue: "-V"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: CTEST_ARGS
|
||||
variableValue: " --stop-on-failure"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: AbortTestingOnFirstFailure
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.TESTS_ENV_PREFIX}} ctest {{.Env.CTEST_ARGS}}"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
ignoreExitCode: false
|
||||
maxTimeInSeconds: 10800
|
||||
maxTimeBetweenOutput: 900
|
||||
userMessageOnFailure: >
|
||||
Failed to run tests.
|
||||
|
||||
- type: Group
|
||||
instructions:
|
||||
# Qttestrunner does not work with bic tests.
|
||||
- type: EnvironmentVariable
|
||||
variableName: TESTRUNNER
|
||||
variableValue: ""
|
||||
- type: EnvironmentVariable
|
||||
variableName: QT_MODULE_TO_TEST
|
||||
variableValue: "{{.SourceDir}}"
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.InstallDir}}/bin:"
|
||||
- type: InstallSourceArchive
|
||||
maxTimeInSeconds: 600
|
||||
maxTimeBetweenOutput: 600
|
||||
project: qt/qtqa
|
||||
ref: dev
|
||||
directory: qt/qtqa
|
||||
userMessageOnFailure: "Could not install qt/qtqa source archive. Please investigate why."
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.AgentWorkingDir}}/qt/qtqa/tests/postbuild/bic"
|
||||
- type: ExecuteCommand
|
||||
command: ["{{.InstallDir}}/bin/qmake"]
|
||||
maxTimeInSeconds: 7200
|
||||
maxTimeBetweenOutput: 300
|
||||
userMessageOnFailure: "Failed to execute qmake for bic tests"
|
||||
- type: RunQtUnitTest
|
||||
runTestCommand: ["make", "check", "-j1"]
|
||||
directory: "{{.AgentWorkingDir}}/qt/qtqa/tests/postbuild/bic"
|
||||
testRepetitionAllowance: 0
|
||||
maxTimeInSeconds: 7200
|
||||
maxTimeBetweenOutput: 300
|
||||
userMessageOnFailure: "Running bic tests failed."
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: features
|
||||
contains_value: Packaging
|
||||
- condition: property
|
||||
property: target.os
|
||||
equals_value: Linux
|
||||
- condition: property
|
||||
property: features
|
||||
contains_value: EnableBicTests
|
20
coin/instructions/cmake_run_ctest_ignore_exit_code.yaml
Normal file
20
coin/instructions/cmake_run_ctest_ignore_exit_code.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: CTEST_ARGS
|
||||
variableValue: "-V --rerun-failed --force-new-ctest-process"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: CTEST_ARGS
|
||||
variableValue: " --stop-on-failure"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: AbortTestingOnFirstFailure
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.TESTS_ENV_PREFIX}} ctest {{.Env.CTEST_ARGS}}"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
ignoreExitCode: true
|
||||
maxTimeInSeconds: 10800
|
||||
maxTimeBetweenOutput: 900
|
||||
userMessageOnFailure: >
|
||||
Failed to run tests.
|
@ -0,0 +1,20 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: WriteFile
|
||||
filename: "{{.SourceDir}}/coin_qnx_qemu_runner.sh"
|
||||
fileMode: 493
|
||||
fileContents: |
|
||||
#!/bin/sh
|
||||
|
||||
# Many tests require changing into their directory, in order to find
|
||||
# files they depend on.
|
||||
testdir=`dirname "$1"`
|
||||
|
||||
# The remote SSH server executes everything we send under "sh -c". So
|
||||
# the only way to preserve arguments is to shell-quote them and send
|
||||
# them as a single string. We use python's shlex module for that.
|
||||
|
||||
quoted_args=`python3 -c 'import sys, shlex; print(shlex.join(sys.argv[1:]))' "$@"`
|
||||
|
||||
ssh "$QNX_QEMU_SSH" \
|
||||
cd "$testdir" \; $QNX_TEST_ENV "$quoted_args"
|
47
coin/instructions/cmake_setup_running_tests_env_vars.yaml
Normal file
47
coin/instructions/cmake_setup_running_tests_env_vars.yaml
Normal file
@ -0,0 +1,47 @@
|
||||
type: Group
|
||||
instructions:
|
||||
# Informs qtestblacklist.cpp that tests are run in the CI.
|
||||
# A related QT_BUILD_ENVIRONMENT env var is set during an integration's build phase.
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTEST_ENVIRONMENT
|
||||
variableValue: "ci"
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: TESTS_ENV_PREFIX
|
||||
variableValue: "{{.Env.ENV_PREFIX}}"
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
not_in_values: [QEMU, QNX_710]
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: TESTS_ENV_PREFIX
|
||||
variableValue: "{{.Env.TARGET_ENV_PREFIX}}"
|
||||
disable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
not_in_values: [QEMU, QNX_710]
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_setup_running_qnxqemu_tests_env_vars.yaml"
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
equals_value: QNX_710
|
||||
- condition: property
|
||||
property: features
|
||||
not_contains_value: DisableTests
|
50
coin/instructions/coin_module_build_template_v2.yaml
Normal file
50
coin/instructions/coin_module_build_template_v2.yaml
Normal file
@ -0,0 +1,50 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/prepare_building_env.yaml"
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_module_build_instructions.yaml"
|
||||
- !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts_host.yaml"
|
||||
disable_if:
|
||||
condition: runtime
|
||||
env_var: QT_CI_SKIP_MODULE_BUILD
|
||||
not_equals_value: null
|
||||
- !include "{{qt/qtbase}}/cmake_documentation_build.yaml"
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
not_in_values: [QEMU, WebAssembly, INTEGRITY]
|
||||
- condition: property
|
||||
property: features
|
||||
not_contains_value: "TargetBuildOnly"
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_cross_compilation_module_build_instructions.yaml"
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts_target.yaml"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY]
|
||||
enable_if:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY]
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2019
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_value: ARM64
|
@ -0,0 +1,13 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.LIBEXEC_INSTALL_DIR}}/android_emulator_launcher.sh"
|
||||
maxTimeInSeconds: 600
|
||||
maxTimeBetweenOutput: 300
|
||||
userMessageOnFailure: "Failed to start emulator, check coin log and ~/emulator.log"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: AndroidTestRun
|
41
coin/instructions/coin_module_test_docs.yaml
Normal file
41
coin/instructions/coin_module_test_docs.yaml
Normal file
@ -0,0 +1,41 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QDOC_NOLINKERRORS
|
||||
variableValue: 1
|
||||
- type: EnvironmentVariable
|
||||
variableName: QDOC_ENABLE_WARNINGLIMIT
|
||||
variableValue: 1
|
||||
- type: SetBuildDirectory
|
||||
directory: "{{.SourceDir}}"
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
- type: ExecuteCommand
|
||||
command: "cp -rfs /opt/qt-doctools/. {{.InstallDir}}"
|
||||
userMessageOnFailure: >
|
||||
Failed to create links to provisioned binaries.
|
||||
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: "-DQT_BUILD_TESTS=OFF"
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_ENV_PREFIX
|
||||
variableValue: "{{.Env.ENV_PREFIX}}"
|
||||
- !include "{{qt/qtbase}}/call_configure_module.yaml"
|
||||
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake --build . --target generate_docs -v"
|
||||
ignoreExitCode: false
|
||||
maxTimeInSeconds: 1800
|
||||
maxTimeBetweenOutput: 900
|
||||
userMessageOnFailure: >
|
||||
Documentation check failed, see the log for details.
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: features
|
||||
contains_value: "TestDocs"
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
14
coin/instructions/coin_module_test_qemu_env_vars.yaml
Normal file
14
coin/instructions/coin_module_test_qemu_env_vars.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QEMU_LD_PREFIX
|
||||
variableValue: "{{.Env.QT_SYSROOT_FOR_RUNNING_TESTS}}"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QT_QPA_PLATFORM
|
||||
variableValue: "offscreen"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
equals_value: QEMU
|
80
coin/instructions/coin_module_test_qnx_start_emulator.yaml
Normal file
80
coin/instructions/coin_module_test_qnx_start_emulator.yaml
Normal file
@ -0,0 +1,80 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: WriteFile
|
||||
fileContents: |
|
||||
#!/bin/bash
|
||||
RESULT=1 # 0 upon success
|
||||
TIMEOUT=240
|
||||
COUNT=0
|
||||
QEMUPID=0
|
||||
QEMUIPADDR="{{.Env.QNX_QEMU_IPADDR}}"
|
||||
mkqnximage --type=qemu --graphics=no --ip=${QEMUIPADDR} --build --run=-h </dev/null &>/dev/null & disown
|
||||
|
||||
while [[ "QEMUPID" -eq 0 ]]
|
||||
do
|
||||
QEMUPID=`pidof qemu-system-x86_64`
|
||||
|
||||
if [[ "QEMUPID" -eq 0 ]]; then
|
||||
echo "QEMU not yet started, wait 1 sec."
|
||||
COUNT=$((COUNT+1))
|
||||
sleep 1
|
||||
else
|
||||
echo "QEMU running with PID: $QEMUPID"
|
||||
fi
|
||||
|
||||
if [[ "COUNT" -eq "TIMEOUT" ]]; then
|
||||
echo "Timeout waiting QEMU to start"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
while :; do
|
||||
echo "Waiting QEMU SSH coming up"
|
||||
status=$(ssh -o BatchMode=yes -o ConnectTimeout=1 ${QEMUIPADDR} echo ok 2>&1)
|
||||
RESULT=$?
|
||||
if [ $RESULT -eq 0 ]; then
|
||||
echo "QEMU SSH Connected ok"
|
||||
break
|
||||
fi
|
||||
if [ $RESULT -eq 255 ]; then
|
||||
# connection refused also gets you here
|
||||
if [[ $status == *"Permission denied"* ]] ; then
|
||||
# permission denied indicates the ssh link is okay
|
||||
echo "QEMU SSH server up"
|
||||
RESULT=0
|
||||
break
|
||||
fi
|
||||
fi
|
||||
TIMEOUT=$((TIMEOUT-1))
|
||||
if [ $TIMEOUT -eq 0 ]; then
|
||||
echo "QEMU SSH timed out"
|
||||
exit $RESULT
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
exit $RESULT
|
||||
filename: "{{.Env.QNX_QEMU}}/start_qnx_qemu.sh"
|
||||
fileMode: 493
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.Env.QNX_QEMU}}"
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.QNX_QEMU}}/start_qnx_qemu.sh"
|
||||
maxTimeInSeconds: 300
|
||||
maxTimeBetweenOutput: 100
|
||||
userMessageOnFailure: >
|
||||
Failed to start QNX qemu, check logs.
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
equals_value: QNX_710
|
||||
- condition: property
|
||||
property: features
|
||||
not_contains_value: DisableTests
|
9
coin/instructions/coin_module_test_template_common.yaml
Normal file
9
coin/instructions/coin_module_test_template_common.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
type: Group
|
||||
instructions:
|
||||
# The build env is needed on MSVC so that tst_qmake can properly build apps / libraries.
|
||||
- !include "{{qt/qtbase}}/prepare_building_env.yaml"
|
||||
- !include "{{qt/qtbase}}/coin_module_test_android_start_emulator.yaml"
|
||||
- !include "{{qt/qtbase}}/coin_module_test_qnx_start_emulator.yaml"
|
||||
# The test env vars are needed to pick the proper prefix.bat file.
|
||||
- !include "{{qt/qtbase}}/cmake_setup_running_tests_env_vars.yaml"
|
||||
- !include "{{qt/qtbase}}/coin_module_test_qemu_env_vars.yaml"
|
21
coin/instructions/coin_module_test_template_v2.yaml
Normal file
21
coin/instructions/coin_module_test_template_v2.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/coin_module_test_template_common.yaml"
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_regular_test_instructions.yaml"
|
||||
enable_if:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
in_values: [QEMU, QNX_710]
|
||||
disable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: DisableTests
|
24
coin/instructions/coin_module_test_template_v3.yaml
Normal file
24
coin/instructions/coin_module_test_template_v3.yaml
Normal file
@ -0,0 +1,24 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/coin_module_test_template_common.yaml"
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_regular_test_instructions_enforced.yaml"
|
||||
enable_if:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
in_values: [QEMU, QNX_710, IOS_ANY]
|
||||
- condition: property
|
||||
property: features
|
||||
contains_value: AndroidTestRun
|
||||
disable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: DisableTests
|
55
coin/instructions/coin_qtbase_build_template_v2.yaml
Normal file
55
coin/instructions/coin_qtbase_build_template_v2.yaml
Normal file
@ -0,0 +1,55 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/prepare_building_env.yaml"
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_qtbase_build_instructions.yaml"
|
||||
- !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts_host.yaml"
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
not_in_values: [QEMU, WebAssembly, INTEGRITY]
|
||||
- condition: property
|
||||
property: features
|
||||
not_contains_value: "TargetBuildOnly"
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_cross_compilation_qtbase_build_instructions.yaml"
|
||||
disable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
equals_value: Android_ANY
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_value: Multi
|
||||
- !include "{{qt/qtbase}}/prepare_android_multi_abi_env.yaml"
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts_target.yaml"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY]
|
||||
enable_if:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY]
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2019
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_value: ARM64
|
42
coin/instructions/coin_qtbase_test_docs.yaml
Normal file
42
coin/instructions/coin_qtbase_test_docs.yaml
Normal file
@ -0,0 +1,42 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QDOC_NOLINKERRORS
|
||||
variableValue: 1
|
||||
- type: EnvironmentVariable
|
||||
variableName: QDOC_ENABLE_WARNINGLIMIT
|
||||
variableValue: 1
|
||||
- type: SetBuildDirectory
|
||||
directory: "{{.SourceDir}}"
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
- type: ExecuteCommand
|
||||
command: "cp -rfs /opt/qt-doctools/. {{.InstallDir}}"
|
||||
userMessageOnFailure: >
|
||||
Failed to create links to provisioned binaries.
|
||||
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
# Use unix separators even on Windows, to avoid escaping issues in the configure script.
|
||||
variableValue: "-DQT_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX:PATH={{unixPathSeparators .InstallDir}}"
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_ENV_PREFIX
|
||||
variableValue: "{{.Env.ENV_PREFIX}}"
|
||||
- !include "{{qt/qtbase}}/call_configure_qtbase.yaml"
|
||||
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake --build . --target generate_docs -v"
|
||||
ignoreExitCode: false
|
||||
maxTimeInSeconds: 1800
|
||||
maxTimeBetweenOutput: 900
|
||||
userMessageOnFailure: >
|
||||
Documentation check failed, see the log for details.
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: features
|
||||
contains_value: "TestDocs"
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
29
coin/instructions/prepare_android_multi_abi_env.yaml
Normal file
29
coin/instructions/prepare_android_multi_abi_env.yaml
Normal file
@ -0,0 +1,29 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: INSTALL_DIR_FOR_CMAKE_TESTS
|
||||
variableValue: "{{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-x86\"}}{{index .Env $android_artifact_path}}/install/target"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
|
||||
variableValue: " -DQT_PATH_ANDROID_ABI_arm64-v8a={{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-arm64-v8a\"}}{{index .Env $android_artifact_path}}/install/target"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
|
||||
variableValue: " -DQT_PATH_ANDROID_ABI_armeabi-v7a={{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-armeabi-v7a\"}}{{index .Env $android_artifact_path}}/install/target"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
|
||||
variableValue: " -DQT_PATH_ANDROID_ABI_x86={{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-x86\"}}{{index .Env $android_artifact_path}}/install/target"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
|
||||
variableValue: " -DQT_PATH_ANDROID_ABI_x86_64={{$android_artifact_path:=index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-x86_64\"}}{{index .Env $android_artifact_path}}/install/target"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
|
||||
variableValue: " -DQT_HOST_PATH={{.Env.HOST_INSTALL_DIR}}"
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
equals_value: Android_ANY
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_value: Multi
|
581
coin/instructions/prepare_building_env.yaml
Normal file
581
coin/instructions/prepare_building_env.yaml
Normal file
@ -0,0 +1,581 @@
|
||||
# Prepares environment for building Qt module. It sets all important environment variables in particular
|
||||
# configures the right compiler and cmake generator
|
||||
type: Group
|
||||
instructions:
|
||||
|
||||
# Set default cmake generator, it may be overwritten later
|
||||
- type: EnvironmentVariable
|
||||
variableName: CMAKE_GENERATOR
|
||||
variableValue: Ninja
|
||||
|
||||
# Set path separator based on host platform.
|
||||
# \ on Windows (double \\ for escaping the backslash)
|
||||
# / on UNIX
|
||||
- type: EnvironmentVariable
|
||||
variableName: CI_PATH_SEP
|
||||
variableValue: "\\"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: CI_PATH_SEP
|
||||
variableValue: "/"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
|
||||
# Export ICC specific env. variables
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: LD_LIBRARY_PATH
|
||||
variableValue: "{{.Env.ICC64_18_LDLP}}"
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.Env.ICC64_18_PATH}}"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: ICC_18
|
||||
|
||||
|
||||
# Set CMAKE_C[XX]_COMPILER otherwise cmake may prioritize a wrong compiler
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: "-DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc "
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
contains_value: ICC
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: "-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ "
|
||||
enable_if:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
contains_value: GCC
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
contains_value: Mingw
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: "-DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe "
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
contains_value: MSVC
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: "-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ "
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
contains_value: Clang
|
||||
disable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: runtime
|
||||
env_var: COMMON_CMAKE_ARGS
|
||||
contains_value: "-DCMAKE_C_COMPILER="
|
||||
- condition: runtime
|
||||
env_var: COMMON_CMAKE_ARGS
|
||||
contains_value: "-DCMAKE_CXX_COMPILER="
|
||||
|
||||
|
||||
# Export TARGET_ARCHITECTURE and WINDOWS_SDK_VERSION for MSVC cross compilation
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
not_contains_value: Mingw
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: TARGET_ARCHITECTURE
|
||||
variableValue: amd64 # TODO add something like "{{toLower .Config host.arch}}"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.arch
|
||||
not_equals_property: target.arch
|
||||
- type: EnvironmentVariable
|
||||
variableName: TARGET_ARCHITECTURE
|
||||
variableValue: amd64_x86
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_property: X86
|
||||
- condition: property
|
||||
property: host.arch
|
||||
equals_property: X86_64
|
||||
- type: EnvironmentVariable
|
||||
variableName: TARGET_ARCHITECTURE
|
||||
variableValue: x64_arm64
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.arch
|
||||
equals_value: ARM64
|
||||
- type: EnvironmentVariable
|
||||
# HACK. Overwrite TARGET_ARCHITECTURE as we do not use standard MSVC cross
|
||||
# compilation targets here. The target architecture will be detected by Qt.
|
||||
variableName: TARGET_ARCHITECTURE
|
||||
variableValue: x86
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.os
|
||||
in_values: ["WinRT", "WinPhone", "WinCE"]
|
||||
- type: EnvironmentVariable
|
||||
variableName: WINDOWS_SDK_VERSION
|
||||
variableValue: "10.0.14393.0"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.os
|
||||
equals_value: "WinRT"
|
||||
- type: EnvironmentVariable
|
||||
variableName: WINDOWS_SDK_VERSION
|
||||
variableValue: ""
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: "WinRT" # TODO set windows sdk version for desktop windows as well
|
||||
|
||||
|
||||
# MSVC is installed in somehow arbitrary places. To reduce amount of combinations we need to make a variable.
|
||||
# This seems inverted, but on 64 bit hosts VS is installed into the x86 path, otherwise the regular one
|
||||
# TODO cleanup, that step could be removed if we have same installation paths or we read the path from registry
|
||||
# or we use compiler specific generator (probably superior solution as it allows to get rid of ENV_PREFIX).
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
contains_value: MSVC
|
||||
instructions:
|
||||
# Try to pick one of many coexistent MSVC installation to use
|
||||
# TODO cleanup, that could be much simpler if all tools are installed to similar paths, so it would
|
||||
# be enough to substitute compiler name.
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%VS90COMNTOOLS%\\vsvars32.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2008
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%VS100COMNTOOLS%\\vsvars32.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2010
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%ProgramFiles(x86)%\\Microsoft Visual Studio 11.0\\VC\\vcvarsall.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2012
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%ProgramFiles(x86)%\\Microsoft Visual Studio 12.0\\VC\\vcvarsall.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2013
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%ProgramFiles(x86)%\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2015
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%ProgramFiles(x86)%\\Microsoft Visual Studio\\2017\\Professional\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2017
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%ProgramFiles(x86)%\\Microsoft Visual Studio\\2019\\Professional\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2019
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%ProgramFiles%\\Microsoft Visual Studio\\2022\\Preview\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2022_PREVIEW
|
||||
- type: EnvironmentVariable
|
||||
variableName: VC_SCRIPT
|
||||
variableValue: "%ProgramFiles%\\Microsoft Visual Studio\\2022\\Professional\\VC\\Auxiliary\\Build\\vcvarsall.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2022
|
||||
|
||||
|
||||
# With MSVC we need setup the environment before every subprocess call, the group below creates a script that
|
||||
# does it. It is enough to prepand it to every call (it is safe to add it even on other OSes)
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: WriteFile
|
||||
fileContents: "call \"{{.Env.VC_SCRIPT}}\" {{.Env.TARGET_ARCHITECTURE}} {{.Env.WINDOWS_SDK_VERSION}}\r\ncmd /c %*"
|
||||
filename: c:\\users\\qt\\prefix.bat
|
||||
fileMode: 420
|
||||
maxTimeInSeconds: 20
|
||||
maxTimeBetweenOutput: 20
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
contains_value: MSVC
|
||||
- type: EnvironmentVariable
|
||||
variableName: ENV_PREFIX
|
||||
variableValue: "c:\\users\\qt\\prefix.bat"
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
contains_value: MSVC
|
||||
- type: EnvironmentVariable
|
||||
variableName: ENV_PREFIX
|
||||
variableValue: ""
|
||||
disable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
contains_value: MSVC
|
||||
|
||||
- type: Group
|
||||
instructions:
|
||||
# Need to unset QMAKESPEC, so that the pre-installed boot2qt mkspec is not picked up.
|
||||
- type: WriteFile
|
||||
fileContents: "#!/bin/bash\nunset LD_LIBRARY_PATH\n. {{.Env.QT_YOCTO_ENVSETUP}}\nexport PATH={{.Env.QT_CMAKE_DIR}}:$PATH;\nunset QMAKESPEC\n\"$@\""
|
||||
filename: "{{.Env.HOME}}/prefix.sh"
|
||||
fileMode: 493
|
||||
maxTimeInSeconds: 20
|
||||
maxTimeBetweenOutput: 20
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
equals_value: QEMU
|
||||
- type: EnvironmentVariable
|
||||
variableName: TARGET_ENV_PREFIX
|
||||
variableValue: "{{.Env.HOME}}/prefix.sh"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
in_values: [QEMU]
|
||||
- type: EnvironmentVariable
|
||||
variableName: TARGET_ENV_PREFIX
|
||||
variableValue: ""
|
||||
disable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
in_values: [QEMU]
|
||||
|
||||
# Windows on Arm, cross-compilation with MSVC
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
equals_value: MSVC2019
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_value: ARM64
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: TARGET_ENV_PREFIX
|
||||
variableValue: "c:\\users\\qt\\prefix.bat"
|
||||
|
||||
# QNX variables
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Linux
|
||||
- condition: property
|
||||
property: target.os
|
||||
equals_value: QNX
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QNX_TARGET
|
||||
variableValue: "{{.Env.QNX_710}}/target/qnx7"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QNX_CONFIGURATION_EXCLUSIVE
|
||||
variableValue: "{{.Env.HOME}}/.qnx"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QNX_CONFIGURATION
|
||||
variableValue: "{{.Env.HOME}}/.qnx"
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.Env.QNX_710}}/host/linux/x86_64/usr/bin:"
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.Env.QNX_710}}/host/common/bin:"
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.Env.HOME}}/.qnx:"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QNX_HOST
|
||||
variableValue: "{{.Env.QNX_710}}/host/linux/x86_64"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: ":{{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/../x86_64-pokysdk-linux/usr/bin:"
|
||||
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: property
|
||||
property: target.os
|
||||
equals_value: QNX
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QNX_TARGET
|
||||
variableValue: "{{.Env.QNX_710_CMAKE}}/target/qnx7"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QNX_CONFIGURATION_EXCLUSIVE
|
||||
variableValue: "{{.Env.HOMEPATH}}\\.qnx"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QNX_CONFIGURATION
|
||||
variableValue: "{{.Env.HOMEPATH}}\\.qnx"
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.Env.QNX_710}}\\host\\win64\\x86_64\\usr\\bin;"
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.Env.QNX_710}}\\host\\common\\bin;"
|
||||
- type: PrependToEnvironmentVariable
|
||||
variableName: PATH
|
||||
variableValue: "{{.Env.HOMEPATH}}\\.qnx;"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QNX_HOST
|
||||
variableValue: "{{.Env.QNX_710}}\\host\\win64\\x86_64"
|
||||
|
||||
# Enable warnings are errors
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: " -DWARNINGS_ARE_ERRORS=ON"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_CMAKE_ARGS
|
||||
variableValue: " -DWARNINGS_ARE_ERRORS=ON"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: WarningsAreErrors
|
||||
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseAddressSanitizer
|
||||
instructions:
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: " -DFEATURE_sanitize_address=ON"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseConfigure
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: CONFIGURE_ARGS
|
||||
variableValue: " -sanitize address"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseConfigure
|
||||
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: " -DQT_BUILD_TESTS=OFF -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_NON_QTBASE_CMAKE_ARGS
|
||||
variableValue: " -DQT_BUILD_TESTS=OFF -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TEST_CMAKE_ARGS
|
||||
variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
|
||||
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_CMAKE_ARGS
|
||||
variableValue: " -DQT_BUILD_TESTS=OFF -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_NON_QTBASE_TARGET_CMAKE_ARGS
|
||||
variableValue: " -DQT_BUILD_TESTS=OFF -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
|
||||
variableValue: " -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS"
|
||||
|
||||
# Sccache
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_NON_QTBASE_CMAKE_ARGS
|
||||
variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TEST_CMAKE_ARGS
|
||||
variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
|
||||
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_CMAKE_ARGS
|
||||
variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_NON_QTBASE_TARGET_CMAKE_ARGS
|
||||
variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_TEST_CMAKE_ARGS
|
||||
variableValue: " -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: Sccache
|
||||
|
||||
# Specify a custom examples installation directory, so that the built example binaries are not
|
||||
# packaged into the artifact archive together with the Qt libraries.
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_CMAKE_ARGS
|
||||
variableValue: " -DQT_INTERNAL_EXAMPLES_INSTALL_PREFIX={{unixPathSeparators .BuildDir}}/installed_examples"
|
||||
- type: AppendToEnvironmentVariable
|
||||
variableName: COMMON_TARGET_CMAKE_ARGS
|
||||
variableValue: " -DQT_INTERNAL_EXAMPLES_INSTALL_PREFIX={{unixPathSeparators .BuildDir}}/installed_examples"
|
||||
enable_if:
|
||||
# Only set the custom installation dir if examples are built.
|
||||
condition: or
|
||||
conditions:
|
||||
# qtbase host case
|
||||
- condition: runtime
|
||||
env_var: CONFIGURE_ARGS
|
||||
contains_value: "QT_BUILD_EXAMPLES=ON"
|
||||
# qtbase target case
|
||||
- condition: runtime
|
||||
env_var: TARGET_CONFIGURE_ARGS
|
||||
contains_value: "QT_BUILD_EXAMPLES=ON"
|
||||
# non-qtbase host case
|
||||
- condition: runtime
|
||||
env_var: NON_QTBASE_CONFIGURE_ARGS
|
||||
contains_value: "QT_BUILD_EXAMPLES=ON"
|
||||
# non-qtbase target case
|
||||
- condition: runtime
|
||||
env_var: NON_QTBASE_TARGET_CONFIGURE_ARGS
|
||||
contains_value: "QT_BUILD_EXAMPLES=ON"
|
||||
# Same as above, but for configurations marked with UseConfigure
|
||||
# qtbase host case
|
||||
- condition: runtime
|
||||
env_var: CONFIGURE_ARGS
|
||||
contains_value: "-make examples"
|
||||
# qtbase target case
|
||||
- condition: runtime
|
||||
env_var: TARGET_CONFIGURE_ARGS
|
||||
contains_value: "-make examples"
|
||||
# non-qtbase host case
|
||||
- condition: runtime
|
||||
env_var: NON_QTBASE_CONFIGURE_ARGS
|
||||
contains_value: "-make examples"
|
||||
# non-qtbase target case
|
||||
- condition: runtime
|
||||
env_var: NON_QTBASE_TARGET_CONFIGURE_ARGS
|
||||
contains_value: "-make examples"
|
||||
|
||||
- type: SetEnvironmentFromScript
|
||||
command: [C:\Utils\emsdk\emsdk_env.bat]
|
||||
userMessageOnFailure: "Failed to set emscripten environment"
|
||||
maxTimeInSeconds: 60
|
||||
maxTimeBetweenOutput: 60
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
contains_value: WebAssembly
|
||||
- condition: property
|
||||
property: host.os
|
||||
contains_value: Windows
|
||||
|
||||
- type: EnvironmentVariable
|
||||
variableName: HOST_INSTALL_DIR
|
||||
variableValue: "{{$android_host_artifact_path := index .Env \"QT_CI_ARTIFACT_ID_PATH_Android-host\" }}{{index .Env $android_host_artifact_path}}/install"
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
equals_value: Android_ANY
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_value: Multi
|
||||
|
||||
- type: EnvironmentVariable
|
||||
variableName: HOST_INSTALL_DIR
|
||||
variableValue: "{{.InstallDir}}"
|
||||
disable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: target.osVersion
|
||||
equals_value: Android_ANY
|
||||
- condition: property
|
||||
property: target.arch
|
||||
equals_value: Multi
|
||||
|
||||
- type: EnvironmentVariable
|
||||
variableName: LIBEXEC_INSTALL_DIR
|
||||
variableValue: "{{.Env.HOST_INSTALL_DIR}}\\bin\\"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: LIBEXEC_INSTALL_DIR
|
||||
variableValue: "{{.Env.HOST_INSTALL_DIR}}/libexec/"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
35
coin/instructions/prepare_configure_executable.yaml
Normal file
35
coin/instructions/prepare_configure_executable.yaml
Normal file
@ -0,0 +1,35 @@
|
||||
# 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.
|
||||
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"
|
46
coin/instructions/prepare_configure_module_executable.yaml
Normal file
46
coin/instructions/prepare_configure_module_executable.yaml
Normal file
@ -0,0 +1,46 @@
|
||||
# Call either qt-cmake or qt-configure-module 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.
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
enable_if:
|
||||
condition: property
|
||||
property: features
|
||||
contains_value: UseConfigure
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_EXECUTABLE
|
||||
variableValue: "{{.InstallDir}}{{.Env.INSTALL_DIR_SUFFIX}}{{.Env.CI_PATH_SEP}}bin{{.Env.CI_PATH_SEP}}qt-configure-module"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_EXECUTABLE
|
||||
variableValue: "{{.InstallDir}}{{.Env.INSTALL_DIR_SUFFIX}}{{.Env.CI_PATH_SEP}}bin{{.Env.CI_PATH_SEP}}qt-configure-module.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: "{{.InstallDir}}{{.Env.INSTALL_DIR_SUFFIX}}{{.Env.CI_PATH_SEP}}libexec{{.Env.CI_PATH_SEP}}qt-cmake-private"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: CONFIGURE_EXECUTABLE
|
||||
variableValue: "{{.InstallDir}}{{.Env.INSTALL_DIR_SUFFIX}}{{.Env.CI_PATH_SEP}}bin{{.Env.CI_PATH_SEP}}qt-cmake-private.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
16
coin/instructions/prepare_install_dir_suffix_host.yaml
Normal file
16
coin/instructions/prepare_install_dir_suffix_host.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: INSTALL_DIR_SUFFIX
|
||||
variableValue: "/host"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: INSTALL_DIR_SUFFIX
|
||||
variableValue: "\\host"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
16
coin/instructions/prepare_install_dir_suffix_target.yaml
Normal file
16
coin/instructions/prepare_install_dir_suffix_target.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: INSTALL_DIR_SUFFIX
|
||||
variableValue: "/target"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: INSTALL_DIR_SUFFIX
|
||||
variableValue: "\\target"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
55
coin/instructions/qmake/call_make.yaml
Normal file
55
coin/instructions/qmake/call_make.yaml
Normal file
@ -0,0 +1,55 @@
|
||||
type: Group
|
||||
instructions:
|
||||
# Call jom when host os is Windows + MSVC
|
||||
- type: Group
|
||||
instructions:
|
||||
# Clear the automatically set MAKEFLAGS variable
|
||||
- type: EnvironmentVariable
|
||||
variableName: MAKEFLAGS
|
||||
variableValue: ""
|
||||
# Call jom
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} {{.Env.CI_JOM_PATH}}\\jom.exe"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to call jom.
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
not_contains_value: "Mingw"
|
||||
# Call make when host os is not Windows (Linux, macOS)
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.CALL_MAKE_ENV_PREFIX}} make"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to call make.
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.os
|
||||
not_equals_value: Windows
|
||||
# Call mingw32-make when host os is Windows + MinGW (this includes building for Android)
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.CALL_MAKE_ENV_PREFIX}} mingw32-make"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to call mingw32-make.
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- condition: property
|
||||
property: host.compiler
|
||||
contains_value: "Mingw"
|
19
coin/instructions/qmake/ensure_pro_file.cmake
Normal file
19
coin/instructions/qmake/ensure_pro_file.cmake
Normal file
@ -0,0 +1,19 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
# CMake script to ensure that a qmake project file exists.
|
||||
#
|
||||
# Usage: cmake -DPRO_FILE=.../project.pro -P .../ensure_pro_file.cmake
|
||||
#
|
||||
# This script checks for existence of ${PRO_FILE} and creates a fake one, if needed.
|
||||
#
|
||||
|
||||
if(NOT EXISTS "${PRO_FILE}")
|
||||
get_filename_component(dir "${PRO_FILE}" DIRECTORY)
|
||||
if(NOT IS_DIRECTORY "${dir}")
|
||||
file(MAKE_DIRECTORY "${dir}")
|
||||
endif()
|
||||
|
||||
file(WRITE "${PRO_FILE}" "TEMPLATE = aux
|
||||
")
|
||||
endif()
|
16
coin/instructions/qmake/get_qmake_location_host.yaml
Normal file
16
coin/instructions/qmake/get_qmake_location_host.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_QMAKE_LOCATION
|
||||
variableValue: "{{.InstallDir}}\\bin\\qmake"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_QMAKE_LOCATION
|
||||
variableValue: "{{.InstallDir}}/bin/qmake"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
29
coin/instructions/qmake/get_qmake_location_target.yaml
Normal file
29
coin/instructions/qmake/get_qmake_location_target.yaml
Normal file
@ -0,0 +1,29 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_QMAKE_LOCATION
|
||||
variableValue: "{{.InstallDir}}\\target\\bin\\qmake.bat"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: Group
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_QMAKE_LOCATION
|
||||
variableValue: "{{.InstallDir}}/target/bin/qmake"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
equals_value: QEMU
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_QMAKE_LOCATION
|
||||
variableValue: "{{.InstallDir}}/target/bin/host-qmake"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: target.osVersion
|
||||
equals_value: QEMU
|
@ -0,0 +1,71 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: Group
|
||||
instructions:
|
||||
# Prepare directories to build examples with qmake.
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.SourceDir}}"
|
||||
- type: MakeDirectory
|
||||
directory: "{{.SourceDir}}_qmake/examples"
|
||||
- type: SetBuildDirectory
|
||||
directory: "{{.SourceDir}}_qmake/examples"
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
- !include "{{qt/qtbase}}/qmake_examples/get_examples_source_location.yaml"
|
||||
|
||||
# Setup qemu cross-compiled qmake to work.
|
||||
- !include "{{qt/qtbase}}/coin_module_test_qemu_env_vars.yaml"
|
||||
|
||||
# Set either host or target env prefix for qmake and make depending on
|
||||
# tested configuration.
|
||||
- type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: CALL_MAKE_ENV_PREFIX
|
||||
variableValue: "{{.Env.ENV_PREFIX}}"
|
||||
enable_if:
|
||||
condition: runtime
|
||||
env_var: COIN_CONFIG_TYPE
|
||||
equals_value: "Host"
|
||||
- type: EnvironmentVariable
|
||||
variableName: CALL_MAKE_ENV_PREFIX
|
||||
variableValue: "{{.Env.TARGET_ENV_PREFIX}}"
|
||||
enable_if:
|
||||
condition: runtime
|
||||
env_var: COIN_CONFIG_TYPE
|
||||
equals_value: "Target"
|
||||
|
||||
# Ensure that we have an examples/examples.pro file.
|
||||
# If it doesn't exist, write a dummy project file.
|
||||
# The CMake that does this is installed to INSTALL_LIBEXEC, which defaults to "bin" on Windows.
|
||||
- type: ExecuteCommand
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
command: "cmake --trace-expand -DPRO_FILE={{.SourceDir}}\\examples\\examples.pro -P {{.InstallDir}}\\bin\\ensure_pro_file.cmake"
|
||||
maxTimeInSeconds: 20
|
||||
maxTimeBetweenOutput: 20
|
||||
userMessageOnFailure: >
|
||||
Failed to run cmake -P ensure_pro_file.cmake
|
||||
- type: ExecuteCommand
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
command: "cmake --trace-expand -DPRO_FILE={{.SourceDir}}/examples/examples.pro -P {{.InstallDir}}/libexec/ensure_pro_file.cmake"
|
||||
maxTimeInSeconds: 20
|
||||
maxTimeBetweenOutput: 20
|
||||
userMessageOnFailure: >
|
||||
Failed to run cmake -P ensure_pro_file.cmake
|
||||
|
||||
# Run qmake to configure the examples. The env prefix is important for qemu.
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.CALL_MAKE_ENV_PREFIX}} {{.Env.COIN_QMAKE_LOCATION}} {{.Env.COIN_EXAMPLES_SOURCE_LOCATION}}"
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to run qmake to build examples.
|
||||
|
||||
# Run make to build the examples.
|
||||
- !include "{{qt/qtbase}}/qmake/call_make.yaml"
|
@ -0,0 +1,31 @@
|
||||
type: Group
|
||||
instructions:
|
||||
# Only enable building examples if -DQT_BUILD_EXAMPLES=ON was passed to the CMake config in some
|
||||
# form. The variable to check unfortunately depends on host vs target, and qtbase vs non-qtbase.
|
||||
- type: Group
|
||||
instructions:
|
||||
- !include "{{qt/qtbase}}/qmake_examples/build_qmake_examples_inner_instructions.yaml"
|
||||
enable_if:
|
||||
condition: or
|
||||
conditions:
|
||||
# qtbase host case
|
||||
- condition: runtime
|
||||
env_var: CONFIGURE_ARGS
|
||||
contains_value: "QT_BUILD_EXAMPLES=ON"
|
||||
# qtbase target case
|
||||
- condition: runtime
|
||||
env_var: TARGET_CONFIGURE_ARGS
|
||||
contains_value: "QT_BUILD_EXAMPLES=ON"
|
||||
# non-qtbase host case
|
||||
# non-qtbase target case
|
||||
- condition: runtime
|
||||
env_var: COIN_CMAKE_ARGS
|
||||
contains_value: "QT_BUILD_EXAMPLES=ON"
|
||||
# host case
|
||||
- condition: runtime
|
||||
env_var: CONFIGURE_ARGS
|
||||
contains_value: "-make examples"
|
||||
# target case
|
||||
- condition: runtime
|
||||
env_var: TARGET_CONFIGURE_ARGS
|
||||
contains_value: "-make examples"
|
@ -0,0 +1,16 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_EXAMPLES_SOURCE_LOCATION
|
||||
variableValue: "{{.SourceDir}}\\examples"
|
||||
enable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_EXAMPLES_SOURCE_LOCATION
|
||||
variableValue: "{{.SourceDir}}/examples"
|
||||
disable_if:
|
||||
condition: property
|
||||
property: host.os
|
||||
equals_value: Windows
|
19
coin/module_config.yaml
Normal file
19
coin/module_config.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
version: 2
|
||||
accept_configuration:
|
||||
condition: property
|
||||
property: features
|
||||
not_contains_value: Disable
|
||||
|
||||
machine_type:
|
||||
Build:
|
||||
cores: 4
|
||||
Test:
|
||||
cores: 4
|
||||
|
||||
instructions:
|
||||
Build:
|
||||
- !include "{{qt/qtbase}}/coin_qtbase_build_template_v2.yaml"
|
||||
|
||||
Test:
|
||||
- !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml"
|
||||
- !include "{{qt/qtbase}}/coin_qtbase_test_docs.yaml"
|
Reference in New Issue
Block a user