mirror of
http://code.qt.io/yocto/meta-qt6.git
synced 2026-01-01 13:58:07 +00:00
Building Qt examples as part of the module build is no longer recommended and results in missing files in some of the examples. Add separate recipes for each Qt module that has examples. Don't package sources with the examples, but set debug mapping to the module's source path. Qt module examples are mainly available with BSD-3-Clause license, regardless of licenses that the modules themselves are using. Since qtdoc module has only examples, remove the module recipe. Fixes: QTBUG-136651 Change-Id: Ic8f8c579a28b9a1369f8463f725574b0c67a896a Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
187 lines
5.4 KiB
YAML
187 lines
5.4 KiB
YAML
version: 2
|
|
accept_configuration:
|
|
condition: and
|
|
conditions:
|
|
- condition: property
|
|
property: host.compiler
|
|
equals_value: Yocto
|
|
- condition: property
|
|
property: target.arch
|
|
in_values: [TARGET1, TARGET2, TARGET3, TARGET4, TARGET5]
|
|
|
|
machine_type:
|
|
Build:
|
|
cores: 16
|
|
|
|
# Target build matrix:
|
|
#
|
|
# [target1] [target2] [target3] [target4] [target5]
|
|
# [machine] qemuarm64 qemux86-64 qemuarm qemux86 qemuarm64
|
|
# [yocto] master walnascar scarthgap styhead scarthgap
|
|
# [wayland] yes no no yes yes
|
|
# [mingw] no no yes no no
|
|
# [static] no no no no yes
|
|
#
|
|
|
|
target1: &target1
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemuarm64
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: master.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs wayland
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET1
|
|
target2: &target2
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemux86-64
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: walnascar.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET2
|
|
target3: &target3
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemuarm
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: scarthgap.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs mingw
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET3
|
|
target4: &target4
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemux86
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: styhead.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs wayland no-webengine
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET4
|
|
target5: &target5
|
|
type: Group
|
|
instructions:
|
|
- type: EnvironmentVariable
|
|
variableName: MACHINE
|
|
variableValue: qemuarm64
|
|
- type: EnvironmentVariable
|
|
variableName: MANIFEST
|
|
variableValue: scarthgap.xml
|
|
- type: EnvironmentVariable
|
|
variableName: TEST_CONFIGS
|
|
variableValue: ci configs wayland static no-webengine
|
|
enable_if:
|
|
condition: property
|
|
property: target.arch
|
|
equals_value: TARGET5
|
|
|
|
instructions:
|
|
Build:
|
|
- *target1
|
|
- *target2
|
|
- *target3
|
|
- *target4
|
|
- *target5
|
|
- type: EnvironmentVariable
|
|
variableName: DL_DIR
|
|
variableValue: "/mnt/yocto-cache/downloads"
|
|
- type: EnvironmentVariable
|
|
variableName: SOURCE_DIR
|
|
variableValue: "{{.SourceDir}}"
|
|
- type: SetBuildDirectory
|
|
directory: "{{.AgentWorkingDir}}/build"
|
|
- type: MakeDirectory
|
|
directory: "{{.BuildDir}}"
|
|
- type: ChangeDirectory
|
|
directory: "{{.BuildDir}}"
|
|
- type: WriteFile
|
|
fileContents: |
|
|
#!/bin/bash -xe
|
|
|
|
# make hostname unique for NFS
|
|
sudo hostname $(hostname -s)-$(date +%s%N)
|
|
|
|
sudo mkdir -p /mnt/yocto-cache
|
|
sudo mount yocto-cache.ci.qt.io:/srv/yocto-cache /mnt/yocto-cache
|
|
|
|
curl https://storage.googleapis.com/git-repo-downloads/repo > repo
|
|
chmod +x repo
|
|
|
|
./repo init \
|
|
--repo-url git@git.qt.io:boot2qt/git-repo.git \
|
|
-u git://code.qt.io/yocto/boot2qt-manifest \
|
|
-b ci \
|
|
-m ${MANIFEST} \
|
|
--reference /mnt/yocto-cache/mirror
|
|
./repo sync
|
|
|
|
source ./poky/oe-init-build-env
|
|
|
|
for conf in ${TEST_CONFIGS}; do
|
|
echo "require ${SOURCE_DIR}/coin/test-${conf}.inc" >> conf/local.conf
|
|
done
|
|
|
|
# check compatibility agaist current Yocto master
|
|
if [ ${MANIFEST} == "master.xml" ]; then
|
|
yocto-check-layer ${SOURCE_DIR} \
|
|
--dependency \
|
|
../meta-openembedded/meta-oe \
|
|
../meta-openembedded/meta-python \
|
|
--additional-layer \
|
|
../meta-mingw \
|
|
--no-auto-dependency
|
|
fi
|
|
|
|
bitbake-layers add-layer ../meta-openembedded/meta-oe
|
|
bitbake-layers add-layer ../meta-openembedded/meta-python
|
|
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
|
|
bitbake-layers add-layer ../meta-mingw
|
|
bitbake-layers add-layer ${SOURCE_DIR}
|
|
|
|
# build toolchain which should include all supported recipes
|
|
bitbake meta-toolchain-qt6 \
|
|
nativesdk-packagegroup-qt6-toolchain-host \
|
|
packagegroup-qt6-modules \
|
|
packagegroup-qt6-examples
|
|
filename: "{{.BuildDir}}/start-build"
|
|
fileMode: 420
|
|
- type: ExecuteCommand
|
|
command: ["bash", "-xe", "{{.BuildDir}}/start-build"]
|
|
maxTimeInSeconds: 43200
|
|
maxTimeBetweenOutput: 7200
|
|
userMessageOnFailure: "Build failed."
|
|
- type: ExecuteCommand
|
|
command: ["sudo", "umount", "/mnt/yocto-cache"]
|
|
userMessageOnFailure: "Unmounting cache failed."
|
|
|
|
Test: []
|