70f7155fcc
Currently configure arguments specified in
qt5.git/coin/platform_configs are only used when configuring
qtbase itself. Sadly, Coin lacks support for specifying per-repo
configure flags.
Until Coin gets the feature, the best we can do is to pass
all the configure flags to each repo we are configuring.
Unfortunately if we pass all of qtbase's configure flags to other
repos it will break cross-compiling configurations (because the
toolchain argument would be overridden with the initial qtbase
provided toolchain instead of the Qt generated chainloading one).
We thus have to separate flags that should and shouldn't be passed
to other repos.
Introduce usage of two new environment variables called
NON_QTBASE_CONFIGURE_ARGS and NON_QTBASE_TARGET_CONFIGURE_ARGS.
Additional configure arguments can be specified in these variables,
and they will be used when configuring repositories, with the
exception of qtbase.
Ultimately, this is needed to disable detection / usage of certain
strawberry perl system libraries in qtimageformats on MinGW.
Doing that prevents crashes of the tst_qtiff test.
Minor implementation note is that the environment variables have to be
explicitly set in qt5.git platform_configs otherwise it breaks the
Windows Ninja Multi-Config configuration with the error
"The system cannot find the file specified".
Supplements 4b4f0be08debcfde62caf4066222b348ce65dea1 from qt5.git.
Amends previous revert
|
||
---|---|---|
.. | ||
call_cmake_for_standalone_tests.yaml | ||
call_cmake.yaml | ||
call_host_cmake.yaml | ||
call_host_install.yaml | ||
call_target_cmake.yaml | ||
call_target_install.yaml | ||
cmake_build_and_upload_test_artifacts_host.yaml | ||
cmake_build_and_upload_test_artifacts_target.yaml | ||
cmake_build_and_upload_test_artifacts.yaml | ||
cmake_cross_compilation_module_build_instructions.yaml | ||
cmake_cross_compilation_qtbase_build_instructions.yaml | ||
cmake_module_build_instructions.yaml | ||
cmake_qtbase_build_instructions.yaml | ||
cmake_regular_test_instructions_common.yaml | ||
cmake_regular_test_instructions_enforced.yaml | ||
cmake_regular_test_instructions.yaml | ||
cmake_run_ctest_enforce_exit_code.yaml | ||
cmake_run_ctest_ignore_exit_code.yaml | ||
cmake_setup_running_tests_env_vars.yaml | ||
coin_module_build_template_v2.yaml | ||
coin_module_test_qemu_env_vars.yaml | ||
coin_module_test_template_common.yaml | ||
coin_module_test_template_v2.yaml | ||
coin_module_test_template_v3.yaml | ||
coin_qtbase_build_template_v2.yaml | ||
prepare_building_env.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 intomodule_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 likeAndroid
andiOS
. A bit later the template gained the ability to buildqemu
cross-compiling configurations. The counterpart to qtbase to build other repositories iscoin_module_build_template_v2
Test templates
coin_module_test_template_v1
did not exist. The test instructions were directly embedded intomodule_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 forqemu
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.