diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2020-04-28 11:58:06 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2020-04-29 22:26:25 +0200 |
commit | e9b8837c31041326a0e4d66eed6775d385913915 (patch) | |
tree | 5fe3a8b3fdd169d698c44d5c77d11b98b95b3bbd /coin | |
parent | 9c76047b076ef143a0bb53f4d41d5071a3f509ed (diff) | |
download | qtbase-e9b8837c31041326a0e4d66eed6775d385913915.tar.gz |
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>
Diffstat (limited to 'coin')
4 files changed, 36 insertions, 9 deletions
diff --git a/coin/instructions/call_target_cmake.yaml b/coin/instructions/call_target_cmake.yaml index 41ed435efb..5f687a96fd 100644 --- a/coin/instructions/call_target_cmake.yaml +++ b/coin/instructions/call_target_cmake.yaml @@ -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 diff --git a/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml b/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml index c724963413..46273d3345 100644 --- a/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml +++ b/coin/instructions/cmake_cross_compilation_module_build_instructions.yaml @@ -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: > diff --git a/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml b/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml index 3ae63515a8..5a14ee0b87 100644 --- a/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml +++ b/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml @@ -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: > diff --git a/coin/instructions/prepare_building_env.yaml b/coin/instructions/prepare_building_env.yaml index d9a22c76b2..e03179a0e8 100644 --- a/coin/instructions/prepare_building_env.yaml +++ b/coin/instructions/prepare_building_env.yaml @@ -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 |