qt5base-lts/coin/instructions/qmake/call_make.yaml
Alexandru Croitor 24f12d0cef CMake: Build examples with qmake against a CMake built Qt
We want to remove the Qt .pro files for projects, except examples,
because examples are still meant to build with qmake.

To not lose coverage on examples built with qmake, add instructions that
will build the qtrepo/examples folder with qmake when the CMake
configuration has -DQT_BUILD_EXAMPLES=ON.

This means that such configurations will build examples both with CMake
and qmake.

Aside from making sure that our examples will still build with qmake, it
will gives us some some coverage that a CMake-built qmake works
correctly.

Implementation-wise, add new instructions files that can call qmake and
make depending on configuration and target type.

Pick-to: 6.0
Fixes: QTBUG-85986
Change-Id: Ie8f4cbcda03c94da2aef455e32f48dad41a4bdb0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-12-04 15:39:32 +01:00

56 lines
1.8 KiB
YAML

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"