summaryrefslogtreecommitdiffstats
path: root/coin/instructions
Commit message (Collapse)AuthorAgeFilesLines
* COIN: Move skipping Debian instructions to qt5 repoSimo Fält2024-02-271-14/+4
| | | | | | | | | Task-number: QTBUG-122447 Change-Id: I385d60d891c68edc3aa053d3561335a46b26923b Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit df1efc70b0cb3eeff4c59adbf58702af1d9a9200) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 233ce5b018a5bca2b9a0c54a57707edcfa14c04e)
* Print output of failed tests only onceDimitrios Apostolou2024-02-271-3/+6
| | | | | | | | | | Pick-to: 6.5 Fixes: QTBUG-118983 Change-Id: I4473f64a7f9ec838a2bc2f705af77fb4c5df35de Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 9379b634a8a49d809441b0616bac7733dad670ae) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 090acf35d1b946f165ee5361446d8d28c3e8af6f)
* Coin: Add native MSVC ARM64 instructionsTero Heikkinen2023-12-191-3/+20
| | | | | | | | | | Task-number: QTQAINFRA-5855 Change-Id: I95a3b5f44c2513becb0bdbd5f56c0a5e36e889d9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 8dffb3c5e3cf419d8428b09d433d199e5dbff904) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 364bffd2c46bacb01a9935c3bb41badf105b9aa1)
* CMake:Android:Coin: prioritize timeout from COIN_COMMAND_OUTPUT_TIMEOUTAssam Boudjelthia2023-12-152-15/+15
| | | | | | | | | | | | | | | | | | | ... from CMake so that Coin doesn't end up killing the whole VM if aRows test gets stuck and instead allow androidtestrunner to cleanup and fetch the logs so we know what happened, and even potentially ending up re-run the test and succeeding if it was flaky. Also, since CMake sets the timeout during configuration time, coin needs to set COIN_COMMAND_OUTPUT_TIMEOUT under the build target where tests are configured, so this moves the setting of that env var from the test target to the build target. Pick-to: 6.5 Change-Id: I9883ea1e98c93f79a088067518d09ca8acd5fdfd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 3ee2ecd6bfdf3320e66628afa5d017783df2ee91) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5ebce47ac417c51e0a2a027eb873a91f1c703e16)
* CTest should write a JUnit XML test summaryDimitrios Apostolou2023-11-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | This feature is to be used when testing Qt in Coin (our continuous integration platform). The command line option --output-junit is supported in CMake 3.21 or greater. However we have one particular configuration that tests with CMake 3.16, so we exclude that one. We have already configured the individual tests to print detailed results in their own XML files, using QTest's functionality. But then, when a qt test process crashes, it leaves behind a half-baked XML file, or no file at all. CTest on the contrary knows nothing about the internals of a Qt test, and only cares about the process exit code. Even if a test crashes, it catches that and reports it as a failure. We enable this functionality here to use in addition to what QTest's XML files provide, in order to collect more complete information on test results. Pick-to: 6.5 Task-number: QTQAINFRA-5146 Change-Id: I226203f93413689f5767a4d01ea1852b453ebf31 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 19aa21b595c7e523b6cc941580e55d8c6fc50a6d)
* Always print output of a failing testDimitrios Apostolou2023-11-051-0/+5
| | | | | | | | | | | For now this affects only the ASAN-enabled testruns that are run without "-V" in ctest's command line. Pick-to: 6.5 Change-Id: Iaa889f950e5de0657523dc9bcb457968c1cbf29e Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 737ed178033e6dd3358fbcc87db300ab21d65b32) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Increase Coin timeout for ctest command under sanitized testrunsDimitrios Apostolou2023-10-271-1/+17
| | | | | | | | | | | | | | Reason is that after changing the sanitized testruns to quiet, we have been hitting the 15min output-inactivity timeout. Set it to the same value as the total workitem timeout, effectively disabling it. Pick-to: 6.5 Change-Id: I13c2d97b25cf338873bb89ef1ed45d58e3cdd170 Reviewed-by: Toni Saario <toni.saario@qt.io> Reviewed-by: Dimitrios Apostolou <jimis@qt.io> (cherry picked from commit 333650c596890fb5117c3ab5c4295838600248f2)
* Keep the testrun quiet for ASAN testrunsDimitrios Apostolou2023-10-191-0/+7
| | | | | | | | | | | | | | | This is purely cosmetic, to avoid confusion when reading the logs and find many "FAIL!" strings all over the place. The ASAN testrun only cares for "ERROR: AddressSanitizer" type errors, and tests pass even if they print "FAIL!" (that is taken care by sanitizer-testrunner.py). Fixes: QTQAINFRA-5896 Pick-to: 6.5 Change-Id: Ib7a5fb2c3ee56581db20efb4dd7cf24a053d5c13 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit ba1eec62a864428e4486b1e15f41ff06fc8f60d4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CI: Fix resolving dependencies with Debian packagesSimo Fält2023-09-291-1/+2
| | | | | | | | Change-Id: Ia057c34318daff2d63237d523803a4231a621da1 Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit ce09de5809fc22ca7e0c8114fbde3577cac668de) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit e20328d84f4e6c0db5d0a93e3f136cc178bee05b)
* CI: Enable changing chroot in platform config for Debian packagingSimo Fält2023-09-261-7/+17
| | | | | | | | | | | | Allows us to change the target distro through platform configuration yaml file. Task-number: QTBUG-117120 Change-Id: Ie6e99e4b25198e27491e6191f57d77dbbe3c4eed Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 798175930e517e28230e3db3213510a22a041620) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit f07efb48194925fcf598a2f8ff46cafa8eec1284)
* Add feature to disable building testsHeikki Halmet2023-09-092-6/+16
| | | | | | | | | | | | | IFW requires static build of Qt which does not build tests on all configurations. This allows building modules without them building tests. Previously IFW used 5.15 repos, those build tests in test workitem, not running into the issue. This is only relevant if the tested repo i.e IFW implements it's own test instructions. Change-Id: I1e03f3b577d7be314f92ed3989e5f6daf2a46da1 Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 409aa8d097a424c6281653d8c4dc3bc1c46054ed) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Enable binfmts incase it is disabledCasimir Saastamoinen2023-08-311-0/+8
| | | | | | | | Task-number: COIN-1075 Change-Id: I476833e87af213b4fd7eced4accdc19f093c6824 Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit d4cccd0471cd5b57c900ef13e5dedd30f79f9de7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* COIN: Increase timeout for running sbuild for debian packagesSimo Fält2023-08-291-1/+1
| | | | | | Pick-to: dev Change-Id: Id0b53dece8d4bbf1faa89c1ec409c5d241129779 Reviewed-by: Toni Saario <toni.saario@qt.io>
* Use install from libexec for QNX on WindowsToni Saario2023-08-173-30/+80
| | | | | | | | | | | It moved to libexec at some point in 6.5. Change-Id: I1e80c0dd1dc253c08bf509aeb605b863a5d67e47 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Simo Fält <simo.falt@qt.io> (cherry picked from commit c6279001c73a11c3bc805cfd44fb3280d87b2e32) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* COIN: Enable debian instructions for all submodulesSimo Fält2023-08-161-27/+0
| | | | | | | Change-Id: Ic5ce96cb0dbcb85fbffb3af52d65b9c3fd7f9bb4 Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 77273f26935f0b2a6d75e0a8f1245b0516a4da22) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* COIN: Fix typo in debian packaging instructionsSimo Fält2023-08-151-1/+1
| | | | | | | Change-Id: I2d13bd567f790fcf7cff51b133deb9f2220cb73d Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 95768e38b74ea4189fd3a12b8848e0101e3ab944) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* COIN: Allow setting Debian rules branch as env variableSimo Fält2023-08-091-0/+22
| | | | | | | Change-Id: I5e28b78c9eea253c30e5a9eea6c5ea4cc672fd8e Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 445c4adc24d76160706fe755e28228114db97bc3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CI: Fix extra deb package location for sbuildSimo Fält2023-08-091-1/+1
| | | | | | | Change-Id: Id64f6f1ed21e2ea09187cabb5b4054a5643dc4bb Reviewed-by: Toni Saario <toni.saario@qt.io> (cherry picked from commit 861bb973d3db00db4c955fd82b4d77428f45a260) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add Axivion analysis commandsMatti Paaso2023-05-173-1/+132
| | | | | | Task-number: QTQAINFRA-5244 Change-Id: Ib577237d73863140386edce9acc2913acc9e2813 Reviewed-by: Toni Saario <toni.saario@qt.io>
* COIN: Add initial set of Debian packaging instructionsToni Saario2023-04-194-0/+235
| | | | | | Task-number: COIN-954 Change-Id: I3373d51733048689375d3272afd3864380519e3c Reviewed-by: Toni Saario <toni.saario@qt.io>
* COIN: Sign Windows binaries only with Packaging configsSimo Fält2023-01-192-6/+16
| | | | | | | | We wasting time and resources by signing binaries that are for internal use only. Change-Id: Ic3271af7f11dac05979ff14a7ffa3f9075fe0ecb Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Revert "Revert "coin: Build qmake examples in non-qtbase repos""Jörg Bornemann2023-01-161-2/+6
| | | | | | | | | | | This reverts commit 0f5af511eaca89d1b50c4772481bf3bdca9d45bc. Reason for revert: Examples build locally with qmake. Task-number: QTBUG-109383 Change-Id: Ief37cda919c32f8a6275ed7d8a5f1d38dc1b9ed9 Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Return qt-configure-module to bin/Amir Masoud Abdol2022-12-131-1/+1
| | | | | | | | | | | | | | | We agreed that qt-configure-module needs to come back to bin/ as it's user-facing. Amends d77ce33082516234fd7bbb5335401a1f3af8ca27 [ChangeLog][CMake] Upon further consideration, qt-configure-module was deemed user-facing, and was thus moved back to ./bin on all platforms. Task-number: QTBUG-107621 Change-Id: I1f7874436e5b3988242091fc0303ea828f29d5c6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Revert "coin: Build qmake examples in non-qtbase repos"Alexandru Croitor2022-12-101-6/+2
| | | | | | | | | This reverts commit 3cb32187978d401b01e079d86605f5a7ae1477e8. Reason for revert: Breaks in qtdeclarative Change-Id: Iefe2954826bca80ebb2aecb8e8d8367290c218d0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* coin: Build qmake examples in non-qtbase reposAlexandru Croitor2022-12-091-2/+6
| | | | | | | | | | | | | | | COIN_CONFIGURE_ARGS would only contain -make examples in qtbase builds. In other repos it would use values like NON_QTBASE_CONFIGURE_ARGS, which would not contain -make examples. Check CONFIGURE_ARGS and TARGET_CONFIGURE_ARGS which are guaranteed to contain -make examples when building any repo. Amends 440438092bc6276399cbb1bd9425227898221587 Change-Id: I9bf086f8104da85ed8ece335a45c6628ea591f2a Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Move Some of the Private CMake Helper Scripts from `bin/` to `libexec/`Amir Masoud Abdol2022-12-057-14/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | After this change, private CMake scripts are mostly live in `libexec/`, except the `qt-cmake` which will stay in `bin/`. This doesn't affect the Windows configuration. - `qt-cmake` stays in `bin/` - `qt-configure-module` moves into `libexec/` - `qt-cmake-private` moves into `libexec/` - `qt-cmake-private-install.cmake` moves into `libexec/` - `qt-cmake-standalone-test` moves into `libexec/` - `qt-internal-configure-test` moves into `libexec/` In cases where `QT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS` is set to ON, e.g., ANDROID, WASM, both Batch and Bash files will be generated and placed in `bin/` and `libexec/` accordingly; in both cases, qt-cmake and qt-cmake.bat will be in `bin/` anyway. [ChangeLog][CMake] The private Qt CMake scripts, i.e., qt-configure-module, qt-cmake-private, qt-cmake-private-install.cmake, qt-cmake-standalone-test and qt-internal-configure-test were moved into $prefix/libexec on Unix platforms. Fixes: QTBUG-107621 Change-Id: Ic4f4ec85f64d2ede0e208bca928959e30be906a6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Generally disable leak sanitizer in testsFabian Kosmale2022-11-301-1/+1
| | | | | | | | | | | | | | | | | Our tests have the unfortunate tendency to not clean up their resources; as a consequence the leaksan check creates ton of (non-actionable) warnings. Our main focus for now are catching non-leak related issues via ASAN (e.g. use-after-free). The special casing for the cmake API tests stays in place in case we want to re-enable leaksan checks for most tests again. Task-number: QTQAINFRA-5315 Change-Id: I3e50ebf06ebd373f0ce0a4bb790ec8d38c344515 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dimitrios Apostolou <jimis@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Add support of Android multi-ABI buildsAlexey Edelev2022-11-045-20/+97
| | | | | | | | | | | | | This patchset adds the rules to utilize build artifacts from multiple android abi builds and to use them for building and running tests. If target.arch has the value 'Multi', coin will now skip building Qt itself, since this means that all Qt versions were build previously. It only builds test using the pre-built Qt for Android archives and then runs the regular Android tests using multi-ABI apks. The rules are implemented for qtbase only. Change-Id: I265c70c45caa2155c75cd15c7e3a4f6a863252b8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: Add WebAssembly to platform of built tests on module-only buildDavid Skoland2022-10-152-4/+4
| | | | | | | | | | | | | We need to make a test for wasm run in CI, and have to start small with qtbase. This lets the tests compile and run. Additionally, reordered the platforms for full consistency. Apply the same change to the qtbase config. Change-Id: If3cedffdd7f1b21215c05b9b9302df8234a47a0c Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Toni Saario <toni.saario@qt.io>
* wasm: Disable coin test runner for wasm targetsDavid Skoland2022-10-111-0/+5
| | | | | | | | | | | | qttestrunner.py needs special logic to handle wasm tests, which is not implemented yet. Disable the coin testrunner until that is implemented. Change-Id: Idfd001df5f6dcf44904940ace9adef5a355886cf Pick-to: 6.4 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Toni Saario <toni.saario@qt.io> Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
* Remove dummy test instructionsToni Saario2022-09-072-8/+0
| | | | | | | These cause Coin to spawn VM for setting one env variable. Change-Id: I3ef87092107394b1d985e7549c3d3ca7dc509156 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-231-1/+1
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Allow building and running tests targeting iOS in other reposAlexandru Croitor2022-08-172-5/+2
| | | | | | | | | | | | | | | | | Allow building iOS tests in other repos, if DisableTests is not specified. The reordering in coin_module_build_template_v2.yaml is done to match the same order that's in coin_qtbase_build_template_v2.yaml. The change in coin_module_test_template_v3.yaml is just cosmetic. Amends 80705298ca11587782beed49c4ae55f533cfc0c2 Pick-to: 6.4 Task-number: QTBUG-96056 Change-Id: Ic69ef938cb9319fa9a0eb063046b009de34bebc1 Reviewed-by: Toni Saario <toni.saario@qt.io>
* Add license headers to cmake filesLucie Gérard2022-08-031-0/+3
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I3b98cdc55ead806ec81ce09af9271f9b95af97fa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Build minimal subset of tests for Android multi-ABI Qt buildsAlexey Edelev2022-08-021-0/+9
| | | | | | | | | Add an option to limit the number of tests for building and testing Android multi-ABI configurations in CI. Currently only Core tests supposed to run. Change-Id: Ibb8a41d60d108259ef2675ec54bde2482f87c8b2 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Adjust documentation build dir for out of source buildsToni Saario2022-06-271-4/+4
| | | | | | | | As the build dir was changed the location of CMake build files changed, which resulted in "could not load cache" error. Change-Id: I97d55d060bfab08ab54d1b15d9eabbede1776155 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Try to consolidate Unix/Windows libexec directory in coin configsDimitrios Apostolou2022-06-152-13/+16
| | | | | Change-Id: Ie381cb062fc78fe5c291b8d0b49fca5f752c7c30 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add ASAN build for qtbaseDimitrios Apostolou2022-06-152-0/+35
| | | | | | | | | | | | | | | The test run is wrapped with a special TESTRUNNER script that ignores failing tests (there are several tests failing when built with ASAN) and also ignores LSAN errors (memory leaks - but still visible in the output). The test run only fails if a test reports ASAN errors or if it crashes (or times out, which is like a crash caused by qtestlib's watchdog timer). Fixes: QTQAINFRA-5025 Change-Id: I861756ab49388ac4a52409d3a780684244e469b1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Move all CMake Coin builds to be out-of-sourceAlexandru Croitor2022-06-102-2/+10
| | | | | | | | | | Cross-builds already were out-of-source. Move non-cross-builds to out-of-source as well. Fixes: QTBUG-82820 Fixes: QTBUG-96513 Change-Id: I5bef08f18a16e51fe2c501565699494b46546f84 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CI: add Windows host support for QNXTommi Mänttäri2022-04-051-7/+41
| | | | | | | | | | Add required environment variable configurations to COIN for building Qt SW in Windows host for QNX OS. Task-number: QTBUG-101292 Pick-to: 6.3 6.2 Change-Id: I3ea4cbaaebb693a0a46b5f9cbd08209805366ca7 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* CI: use HOME directory for QNX license and PATH in Linux host buildsTommi Mänttäri2022-04-051-3/+3
| | | | | | | | | | | | | | | To ensure that both Linux and Windows host builds are equivalent the Linux host builds need to use the common QNX SDP file that support both host environments. This new QNX SDP does not include QNX license files like previously, instead they are separately installed by the Ansible scripts of the CI system to the $HOME/.qnx directory. That directory is also supposed to be used for any possible binaries found via PATH environment variable. Task-number: QTBUG-101292 Pick-to: 6.3 6.2 Change-Id: I97ad71f00e8289e708c51565f86c6d0c84a9ae84 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* coin: Don't package installed example binariesAlexandru Croitor2022-04-041-0/+48
| | | | | | | | | | | | | | | | To do that, we install the example binaries into a new directory rather than the main install dir. The contents of the dir is not archived by the Coin agent. This decreases the size of the binary artifacts. This will be especially important when the examples contain deploy logic which will install the shared Qt libraries next to each example binary. Pick-to: 6.2 6.3 Task-number: QTBUG-90820 Change-Id: I0b112698514309bb9b0794ce4117e8bf30c3a819 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* coin: Add CI_PATH_SEP env var with value of host OS path separatorAlexandru Croitor2022-03-301-0/+18
| | | | | | | | | | Can be useful in the future for path construction, to avoid adding two different instructions where the only difference is the path style. Pick-to: 6.2 6.3 Change-Id: Id67b287a2d9f67889dcc5c4fc7781d9ef60a56be Reviewed-by: Toni Saario <toni.saario@qt.io>
* CI: Increase QNX qemu startup timeoutPasi Petäjäjärvi2022-03-301-2/+2
| | | | | | | | | | | | For some reason starting of qemu randomly fails in the given timeout. Set it to reasonably large amount so that we can rule out issues with qemu itself. Also increase script timeout less than what coin gives for the script to run se we should see if script bails out and is not stuck. Pick-to: 6.2 6.3 Change-Id: I37c7ec636f154955c6472d5e9d0fa92bb5bb457f Reviewed-by: Toni Saario <toni.saario@qt.io>
* Coin: use CMAKE_STAGING_PREFIX for cross-compilationsSamuli Piippo2022-03-291-1/+1
| | | | | | | | | | | | Re-apply 9a9b253b686618e23c2874cbcb2e5b89e56cd66d to use CMAKE_STAGING_PREFIX in cross-compilation builds. Amends b7986a8f6e9df3727f433a0df0ba56a3355153d0. Fixes: QTBUG-102108 Pick-to: 6.3 Change-Id: I8875da2df1427f02be68dd737168d76a8dc4ed2a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* coin: Apply WarningsAreErrors feature to target configurationsToni Saario2022-03-251-0/+3
| | | | | | | | Makes WarningsAreErrors feature meaningful on cross-compilations. Change-Id: I777e44a64757d1fcd5f8a49eae0e5322b92ac53b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Unset testrunner for bic testsToni Saario2022-03-251-0/+4
| | | | | | | Task-number: QTBUG-100698 Pick-to: 6.2 6.3 Change-Id: I2d0c6947c8bab29dc6af0a5d505da5a6439b8c36 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* coin: Use configure and qt-configure-module in instructionsAlexandru Croitor2022-03-1719-122/+327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to use configure and qt-configure-module when building in Coin, rather than pure cmake and qt-cmake. There are a few benefits: - CI tests the scripts, making sure we don't introduce regressions - CI uses the same scripts that we mention in our documentation for developers to use - The platform configurations become a bit less verbose and easier to read due to less shouty-case CMake options To ensure a more gradual porting, Coin will only use the new instructions if the 'UseConfigure' feature is set on a platform configuration in qt5.git. This allows going back to the old instructions in case if something isn't working properly. Due the opt-in, we need to support both old and new instructions in the implementation. The change strives to remove as much duplicate code as possible, by moving it into common includes. The README.md is updated to mention the overview of how the different environment variables are used. There are a few important things to point out. 1) Because during the porting we have to allow mixing of the old style and new style, platform configs have to separate CMake-style options from configure-style options in different environment variables. Otherwise the instructions wouldn't be able to create a valid configure call, where all CMake-style options have to go at the end after a double dash --. After all platform configs are ported to the new style, it should be possible to combine all the options in a single environment variable if that is desired, but it will require another round of porting to remove all the '-D' prefixes in CMake-style options, and just use regular variable assignment which configure supports. e.g. -DQT_BUILD_EXAMPLES=ON becomes QT_BUILD_EXAMPLES=ON, which can be mixed in-between configure-style args. 2) Configure is more strict in that it doesn't allow passing unknown options. Due to that, we can't pass non-qtbase configure options via NON_QTBASE_CONFIGURE_ARGS. qt-configure-module would error out in the repos where the configure option is unknown. Because we don't have a Coin configure variable for each repo, we circumvent the issue by continuing to pass CMake-style options via NON_QTBASE_CMAKE_ARGS instead, which does not do validation checks. In the future, we could introduce a configure flag that disables the validation checks. Pick-to: 6.2 6.3 Task-number: QTQAINFRA-4357 Task-number: QTQAINFRA-4815 Change-Id: I72d8ba0b3a543b42982e22ae8d6566c0e885c446 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Toni Saario <toni.saario@qt.io>
* Remove useless error messagingToni Saario2022-03-175-7/+7
| | | | | | | | | | This part originates from when the CMake was being introduced and now things are stable enough that the bug rarely is everywhere. Pick-to: 6.2 6.3 Task-number: COIN-828 Change-Id: Ifb7b5ce82740f5ae49f712f9666870993ce00b15 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* coin: Preserve quoted arguments when calling cmake / configureAlexandru Croitor2022-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Previously we used sh $* for passing parameters of various calls like cmake / configure. This did not properly preserve quoted arguments, leading to potential issues. For example when configuring qtbase with cmake -DQT_QMAKE_DEVICE_OPTIONS="DISTRO_OPTS=hard-float boot2qt" the 'boot2qt' option would be passed as a separate argument to cmake, leading to the QT_QMAKE_DEVICE_OPTIONS cache var containing only 'DISTRO_OPTS=hard-float'. Use "$@" to preserve the quotes. Inspired by https://wiki.bash-hackers.org/scripting/posparams#all_positional_parameters Amends e9b8837c31041326a0e4d66eed6775d385913915 Pick-to: 6.2 6.3 Change-Id: Ib67d4bc138c65f7430457cb2a2baa55bff72e549 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>