Add support for building building against yocto

Using an environment prefix wrapper shell script that sources the SDK's
env setup. The script also ensure that we don't loose cmake on the way.

Change-Id: I9d08bc58f0efaf688512ab26a7ddb800309a5015
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Simon Hausmann 2020-04-28 11:58:06 +02:00
parent 9c76047b07
commit e9b8837c31
4 changed files with 36 additions and 9 deletions

View File

@ -1,7 +1,7 @@
type: Group
instructions:
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} {{.InstallDir}}\\target\\bin\\qt-cmake {{.Env.COIN_CMAKE_ARGS}}"
command: "{{.Env.TARGET_ENV_PREFIX}} {{.InstallDir}}\\target\\bin\\qt-cmake {{.Env.COIN_CMAKE_ARGS}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
@ -12,7 +12,7 @@ instructions:
property: host.os
equals_value: Windows
- type: ExecuteCommand
command: "{{.InstallDir}}/target/bin/qt-cmake {{.Env.COIN_CMAKE_ARGS}}"
command: "{{.Env.TARGET_ENV_PREFIX}} {{.InstallDir}}/target/bin/qt-cmake {{.Env.COIN_CMAKE_ARGS}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200

View File

@ -51,13 +51,13 @@ instructions:
variableValue: "-DBUILD_TESTING=OFF {{.SourceDir}}"
- !include "{{qt/qtbase}}/call_target_cmake.yaml"
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} cmake --build . --parallel -v"
command: "{{.Env.TARGET_ENV_PREFIX}} cmake --build . --parallel -v"
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
userMessageOnFailure: >
Failed to build sources. In the current state bug can be everywhere.
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} cmake --install ."
command: "{{.Env.TARGET_ENV_PREFIX}} cmake --install ."
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
userMessageOnFailure: >
@ -66,7 +66,7 @@ instructions:
variableName: DESTDIR
variableValue: "{{.InstallRoot}}"
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} cmake --install ."
command: "{{.Env.TARGET_ENV_PREFIX}} cmake --install ."
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
userMessageOnFailure: >

View File

@ -50,20 +50,20 @@ instructions:
- type: ChangeDirectory
directory: "{{.BuildDir}}"
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} cmake {{.Env.TARGET_CONFIGURE_ARGS}} -DQT_HOST_PATH={{.InstallDir}}/host -DCMAKE_INSTALL_PREFIX:PATH={{.InstallDir}}/target -DBUILD_TESTING=OFF {{.SourceDir}}"
command: "{{.Env.TARGET_ENV_PREFIX}} cmake {{.Env.TARGET_CONFIGURE_ARGS}} -DQT_HOST_PATH={{.InstallDir}}/host -DCMAKE_INSTALL_PREFIX:PATH={{.InstallDir}}/target -DBUILD_TESTING=OFF {{.SourceDir}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
userMessageOnFailure: >
Failed to call cmake.
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} cmake --build . --parallel -v"
command: "{{.Env.TARGET_ENV_PREFIX}} cmake --build . --parallel -v"
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
userMessageOnFailure: >
Failed to build sources. In the current state bug can be everywhere.
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} cmake --install ."
command: "{{.Env.TARGET_ENV_PREFIX}} cmake --install ."
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
userMessageOnFailure: >
@ -72,7 +72,7 @@ instructions:
variableName: DESTDIR
variableValue: "{{.InstallRoot}}"
- type: ExecuteCommand
command: "{{.Env.ENV_PREFIX}} cmake --install ."
command: "{{.Env.TARGET_ENV_PREFIX}} cmake --install ."
maxTimeInSeconds: 6000
maxTimeBetweenOutput: 1200
userMessageOnFailure: >

View File

@ -200,3 +200,30 @@ instructions:
condition: property
property: host.os
equals_value: Windows
- type: Group
instructions:
- type: WriteFile
fileContents: "#!/bin/bash\nunset LD_LIBRARY_PATH\n. {{.Env.QT_YOCTO_ENVSETUP}}\nexport PATH={{.Env.QT_CMAKE_DIR}}:$PATH;\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
equals_value: QEMU
- type: EnvironmentVariable
variableName: TARGET_ENV_PREFIX
variableValue: ""
disable_if:
condition: property
property: target.osVersion
equals_value: QEMU