qt6-bb10/coin/instructions
Tor Arne Vestbø 6d95a07af0 coin: Make macOS 12 and 13 Tart ARM VMs significant
The last 30 days shows that these configs are stable, so we can
make them significant:

 http://testresults.qt.io/grafana/goto/jBYi1JsSR?orgId=1

The tst_qheif::writeImage test has been blacklisted separately.

Change-Id: Ibe7981bce2db1ec90781d3ea33fe7d4541990aea
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 70ace7ae78d6637c21a646e726caffb36a1968a6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-03 12:57:01 +00:00
..
debian COIN: Move skipping Debian instructions to qt5 repo 2024-02-22 15:54:25 +00:00
qmake Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 23:58:42 +02:00
qmake_examples Revert "Revert "coin: Build qmake examples in non-qtbase repos"" 2023-01-16 18:18:28 +00:00
README.md
call_cmake_for_standalone_examples.yaml coin: Add instructions to build standalone examples 2024-03-14 11:44:16 +01:00
call_cmake_for_standalone_tests.yaml
call_configure_module.yaml
call_configure_qtbase.yaml
call_host_install.yaml coin: Fix installation failing during tqtc-qt5.git integrations 2023-11-22 21:15:38 +01:00
call_target_install.yaml coin: Fix installation failing during tqtc-qt5.git integrations 2023-11-22 21:15:38 +01:00
cmake_build_and_upload_test_artifacts.yaml
cmake_build_and_upload_test_artifacts_host.yaml Add feature to disable building tests 2023-06-12 13:46:07 +00:00
cmake_build_and_upload_test_artifacts_target.yaml Add feature to disable building tests 2023-06-12 13:46:07 +00:00
cmake_build_standalone_examples.yaml coin: Add instructions to build standalone examples 2024-03-14 11:44:16 +01:00
cmake_build_standalone_examples_host.yaml coin: Add instructions to build standalone examples 2024-03-14 11:44:16 +01:00
cmake_build_standalone_examples_target.yaml coin: Add instructions to build standalone examples 2024-03-14 11:44:16 +01:00
cmake_cross_compilation_module_build_instructions.yaml coin: Add instructions to build standalone examples 2024-03-14 11:44:16 +01:00
cmake_cross_compilation_qtbase_build_instructions.yaml coin: Add instructions to build standalone examples 2024-03-14 11:44:16 +01:00
cmake_documentation_build.yaml
cmake_module_build_instructions.yaml Coin: sign only x86 packages 2024-05-17 14:36:27 +03:00
cmake_qtbase_build_instructions.yaml Coin: sign only x86 packages 2024-05-17 14:36:27 +03:00
cmake_regular_test_instructions.yaml coin: Make macOS 12 and 13 Tart ARM VMs significant 2024-06-03 12:57:01 +00:00
cmake_run_ctest.yaml coin: Decide whether to ignore CTest exit code based on environment var 2024-05-29 20:12:44 +02:00
cmake_setup_running_qnxqemu_tests_env_vars.yaml
cmake_setup_running_tests_env_vars.yaml
coin_module_axivion_template_v2.yaml Fix mount command 2024-02-15 09:52:52 +02:00
coin_module_build_template_v2.yaml Add VxWorks specific instructions 2023-11-13 18:14:59 +00:00
coin_module_test_android_start_emulator.yaml COIN/Android: Move android_emulator_launcher.sh to qt5.git 2023-07-25 23:07:45 +03:00
coin_module_test_docs.yaml
coin_module_test_qemu_env_vars.yaml
coin_module_test_qnx_start_emulator.yaml
coin_module_test_template_common.yaml COIN/Android: Move android_emulator_launcher.sh to qt5.git 2023-07-25 23:07:45 +03:00
coin_module_test_template_v2.yaml coin: Decide whether to ignore CTest exit code based on environment var 2024-05-29 20:12:44 +02:00
coin_module_test_template_v3.yaml coin: Decide whether to ignore CTest exit code based on environment var 2024-05-29 20:12:44 +02:00
coin_qtbase_build_template_v2.yaml Add VxWorks specific instructions 2023-11-13 18:14:59 +00:00
coin_qtbase_test_docs.yaml
prepare_android_multi_abi_env.yaml Add support of Android multi-ABI builds 2022-11-04 18:39:03 +01:00
prepare_building_env.yaml CMake: Allow configuring a minimal subset of examples to deploy 2024-03-19 18:22:16 +01:00
prepare_configure_executable.yaml
prepare_configure_module_executable.yaml Return qt-configure-module to bin/ 2022-12-13 10:02:25 +00:00
prepare_install_dir_suffix_host.yaml
prepare_install_dir_suffix_target.yaml

README.md

Information about Coin instruction templates

Build templates

  • coin_qtbase_build_template_v2.yaml did not exist. The build instructions were directly embedded into module_config.yaml and did not support repos outside of qtbase, also no cross-compilation.
  • coin_qtbase_build_template_v2 introduced support for building other repos, and also enabled build cross-compiling targets like Android and iOS. A bit later the template gained the ability to build qemu cross-compiling configurations. The counterpart to qtbase to build other repositories is coin_module_build_template_v2

Test templates

  • coin_module_test_template_v1 did not exist. The test instructions were directly embedded into module_config.yaml and did not support repos outside of qtbase, also no cross-compilation.
  • coin_module_test_template_v2 introduced support for building tests for other repos, and made sure not to build and run tests on cross-compiling configuration. A bit later the template gained the ability to build and run tests for qemu cross-compiling configurations.
  • coin_module_test_template_v3 changed the run test instructions to not ignore the exit code and thus enforce that tests pass in the CI.

Environment variable description and usage

The following environment variables are used in Coin instructions when building Qt, tests, etc:

CONFIGURE_ARGS - contains platform-specific configure-style arguments (e.g. -shared), that will be passed to a qtbase configure call CMAKE_ARGS - contains platform-specific CMake-style arguments (e.g. -DOPENSSL_ROOT_DIR=Foo) that will be passed to a qtbase configure call NON_QTBASE_CONFIGURE_ARGS - contains platform-specific configure-style arguments that will be passed to a non-qtbase qt-configure-module call NON_QTBASE_CMAKE_ARGS - contains platform-specific CMake-style arguments that will be passed to a non-qtbase qt-configure-module call COMMON_CMAKE_ARGS - platform-independent CMake-style args set in prepare_building_env.yaml that apply to qtbase configurations only. COMMON_NON_QTBASE_CMAKE_ARGS - platform-independent CMake-style args set in prepare_building_env.yaml that apply to configuration of repos other than qtbase COMMON_TEST_CMAKE_ARGS - platform-independent CMake-style args set in prepare_building_env.yaml that apply to configuration of all standalone tests

All of the above apply to host builds only.

There is a a set of environment variables that apply to target builds when cross-compiling which mirror the ones above. They are:

TARGET_CONFIGURE_ARGS TARGET_CMAKE_ARGS NON_QTBASE_TARGET_CONFIGURE_ARGS NON_QTBASE_TARGET_CMAKE_ARGS

COMMON_TARGET_CMAKE_ARGS COMMON_NON_QTBASE_TARGET_CMAKE_ARGS COMMON_TARGET_TEST_CMAKE_ARGS

Currently, there are no common configure-style variables for configuring repos or tests, only ``CMake-style` ones.

COIN_CMAKE_ARGS contains the final set of cmake args that is passed to configure / qt-configure-module, it is built up from the variables above + any additional values added by custom instructions, like specification of CMAKE_INSTALL_PREFIX etc.

INSTALL_DIR_SUFFIX is used to append either /host or /target suffixes to install paths in instructions when cross-building.

CONFIGURE_EXECUTABLE contains a platform-specific path to configure / qt-configure-module or cmake/ qt-cmake depending on whether UseConfigure feature is enabled.

CONFIGURE_ENV_PREFIX contains the value of either ENV_PREFIX or TARGET_ENV_PREFIX depending on whether it's a cross-build configure call. The values are used when configuring and building, to ensure that things like compilers are found correctly.

We use unixPathSeparators to pass an install prefix with forward slashes even on Windows, to avoid escaping issues when using configure.