summaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2020-04-28 11:58:06 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2020-04-29 22:26:25 +0200
commite9b8837c31041326a0e4d66eed6775d385913915 (patch)
tree5fe3a8b3fdd169d698c44d5c77d11b98b95b3bbd /coin
parent9c76047b076ef143a0bb53f4d41d5071a3f509ed (diff)
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')
-rw-r--r--coin/instructions/call_target_cmake.yaml4
-rw-r--r--coin/instructions/cmake_cross_compilation_module_build_instructions.yaml6
-rw-r--r--coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml8
-rw-r--r--coin/instructions/prepare_building_env.yaml27
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