summaryrefslogtreecommitdiffstats
path: root/coin
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Propagate non-qtbase configure args to other repositoriesAlexandru Croitor2020-07-132-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 946fc92d20e720a82236877a378ce1c883533aa0 Task-number: QTBUG-84886 Task-number: COIN-601 Change-Id: Ie4305c5d799bf4a29da5032a691e797b49c3cf33 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Revert "CMake: Propagate configure args to all repositories"Alexandru Croitor2020-07-082-3/+3
| | | | | | | | | | This reverts commit adbadc57df9f70ee4144f0dd2425192593656394. The change breaks building of repos other than qtbase when cross-compiling to Android. Not sure yet why. Change-Id: I6a6efef5360ed141c0c5056afb03b1a0d90439ae Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Propagate configure args to all repositoriesAlexandru Croitor2020-07-082-3/+3
| | | | | | | | | | | | | | | | | | | | | Currently the configure arguments specified in qt5.git/coin are only used when building qtbase itself. None of them are used when configuring other repos like qtsvg. While in principle passing all the configure arguments to other repos is not a good thing, we need to do it to circumvent the lack of support for specifying per-repo configure flags in Coin. It's needed to disable detection / usage of certain strawberry perl system libraries in qtimageformats on MinGW. Doing that prevents crashes of the tst_qtiff test. Supplements 4b4f0be08debcfde62caf4066222b348ce65dea1 from qt5.git. Task-number: QTBUG-84886 Task-number: COIN-601 Change-Id: I59be8c62ebb10282db1b0a9da2d3e3e5595c925f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Re-run tests in CI like we do for the qmake buildJoerg Bornemann2020-07-061-1/+1
| | | | | | | | | | The test runner re-runs failing tests up to 5 times. We did not do this for the CMake build, and now we're getting lots of flaky tests failing. Fix this by passing the -repeat until-pass:5 parameter to ctest. Change-Id: I6ff3c1e7901bc22cafec87b15d087eab2a565c65 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Enable enforcing CI tests in qtbaseAlexandru Croitor2020-07-031-1/+1
| | | | | | | | | | Any failing tests in CMake configurations will now prevent integrations to go through in the qtbase repository. Task-number: QTBUG-84886 Change-Id: I8c963cb2540a29a9c8702acd3d282da82fb521e7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Add support for enforcing passing CI tests per repositoryAlexandru Croitor2020-07-039-23/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a new test instructions yaml template that does not ignore the exit code of running tests. This template can be included by repositories where tests pass in all configurations tested by the CI. The template should be included in module_config.yaml via Test: - !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml" This allows us to opt into enforcing test runs per repository, rather than waiting to fix all tests in all qt5.git repositories. Implementation notes Try to extract the common parts of the instructions as much as possible to avoid duplication. Unfortunately some duplication still remains due to the restricted yaml language supported by Coin. Add a short README.md file that describes the differences between the existing templates. The v2 non-enforcing test template should probably be removed in the future. Task-number: QTBUG-84886 Task-number: QTBUG-85364 Change-Id: I718fc3cb44d6aefdbebc2fd2088a910a8095a375 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Skip / ignore failing tests on CMake platformsAlexandru Croitor2020-07-011-0/+3
| | | | | | | | | | | | | Skip crashing tests and ignore failing tests on CMake platforms. Add missing QTEST_ENVIRONMENT=ci env var assignment to Coin test instructions. This was hardcoded by the Coin code for qmake configurations. Task-number: QTBUG-85364 Change-Id: Id2312e504a0d36b8f8596d4cebaa49c63731406e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix tst_qmake not to hang and re-enable itAlexandru Croitor2020-06-261-1/+1
| | | | | | | | | | | | | We don't really know why, but using the ctest --force-new-ctest-process flag stops the test from hanging. Also re-enable the test. Task-number: QTBUG-78449 Task-number: QTBUG-81365 Change-Id: I33094696dfe3f610dc257089074b1c2a9926f651 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Use build environment prefix.bat when running testsAlexandru Croitor2020-06-263-1/+35
| | | | | | | | | | | | | | Tests like tst_qmake need the build environment to be able to build apps / libraries. This is mostly needed for MSVC. Set the TESTS_ENV_PREFIX env var to point to the proper prefix.bat (host or target) and use that when running ctest. Task-number: QTBUG-85240 Task-number: QTBUG-78449 Task-number: QTBUG-81365 Change-Id: I6fa68714202ac7fc703973fc772e03b84790a043 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Add instructions for building and testing qemu configsAlexandru Croitor2020-06-258-13/+101
| | | | | | | | | | | | | | | | | | | | | | | Before this change, tests were never built for cross-compiling configurations. Add instructions that build and run tests for qemu configurations. This required a bit of abstraction / indirection to find out what's the path to the correct qt-cmake call, as well as prepending the correct env prefix to each call (either the host one or the target one). Also, the QEMU configuration requires a few environment variables to pick up the correct runtime linker and which qpa plugin to use for running tests. Finally, make sure the tests are not built and run if the DisableTests feature is set in the configuration. Task-number: QTBUG-84423 Change-Id: I0cec28c801a657e67cfa48f3c61cfe487109946b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Use the same generator when building other repositoriesAlexandru Croitor2020-05-195-7/+31
| | | | | | | | | | | | | | | | | | | If we configure qtbase with Ninja Multi-Config, we should use the same generator when building other repositories as well, to ensure that all repositories have the same set of configurations (debug and release). To do that, the Coin instructions will call the qt-cmake-private wrapper which records the generator used. For standalone tests continue to use qt-cmake, so that only a single configuration is built (no need to build tests in both debug and release mode). The configuration built will be the first one from the initial list with which qtbase was configured (usually RelWithDebiInfo). This is ensured by the QtBuildInternalsExtraConfig.cmake file. Task-number: QTBUG-80900 Change-Id: I701b2f652a22d51e640a6fdf19c3b2d2dfb34d5c Reviewed-by: Simon Hausmann <hausmann@gmail.com>
* CMake: Use custom install script to support Ninja Multi-Config buildsAlexandru Croitor2020-05-196-72/+48
| | | | | | | | | | | | | | | | | | | | | | | | | Calling cmake --install . only installs a single configuration. To install both debug and release artifacts, the install invocation needs to be done for each configuration. To keep the Coin instruction code simpler, delegate the looping over configurations to a custom CMake script, and use it in the Coin instructions. Replace all cmake --install calls in the instructions with calls to either call_host_install.yaml or call_target_install.yaml. The path to the script depends on whether we are building qtbase or another module. In the former case the script should be called from the build dir, otherwise from the install dir. The other distinction is whether the host or target env prefix needs to be added. Task-number: QTBUG-80900 Change-Id: Ied4bf739e2b1a2307f22fc79c1cfad746c8cbc44 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Adjust instructions for MinGW buildsAlexandru Croitor2020-05-011-18/+48
| | | | | | | | | | Don't do any of the MSVC-related instructions when targeting MinGW. Make sure to pass gcc and g++ as compilers when targeting MinGW. Don't use any ENV_PREFIX that sets up the MSVC environment. Task-number: QTBUG-75578 Change-Id: Icf5c39b58391d473d914fe8dc17d062812b07df1 Reviewed-by: Simon Hausmann <hausmann@gmail.com>
* Add support for building building against yoctoSimon Hausmann2020-04-294-9/+36
| | | | | | | | 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>
* Instruction selection fix for qemu cross-buildsSimon Hausmann2020-04-292-12/+32
| | | | | | | | When building for qemu, the target "os" is still set to Linux, so try to detect qemu by looking at the version field. Change-Id: I7c66cdb29a47a44d5b8a394977136139fc646155 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Coin: Fix incorrect target OS values used in instructionsAlexandru Croitor2020-04-021-3/+3
| | | | | | | | | The friendly named values should be used rather than the all caps names. Change-Id: I44dbe8c25d405424c5cd2c9527b6e884511ac269 Reviewed-by: Toni Saario <toni.saario@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Pass --verbose flag to ninjaAlexandru Croitor2020-03-135-7/+7
| | | | | | | | | To allow seeing the exact compiler flags when build in Coin. We do the same for qmake builds. Change-Id: I8c43f35b95d722d914aaeaa8860720a3a0578737 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Build standalone tests out of source in CoinLeander Beernaert2020-03-112-7/+5
| | | | | | | | | | | | | | | Due to a bug in upstream CMake regarding relative paths being encoded into the build.ninja file when performing in source builds, we need to build the tests in a standalone directory outside of the source directory. Failing to do so will cause the source directory for the test to be incorrect which can cause tests to fails and never read the BLACKLIST.txt file. See the mentioned issue for details. Task-number: QTBUG-82820 Change-Id: Ie5c178a92369d6b9decff625bd9641e53088a9fa Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* coin: remove contact person for cmake issuesLiang Qi2020-02-138-16/+16
| | | | | | Change-Id: Id274bf821f424077e7259ed42433f2ef88153c36 Reviewed-by: Toni Saario <toni.saario@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix cross compilation builds with template v2Alexandru Croitor2020-02-072-0/+2
| | | | | | | | | | | Make sure to split the command arguments after variable substitution like it is done in call_cmake.yaml. Amends d445112cc03d730d659d1eeaa84d963f85731ac5 Change-Id: Id23fcfa5b58c33e05495413fb10349fbcff1bfac Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: upload artifact for qtbase android build and etcLiang Qi2020-02-078-30/+210
| | | | | | Task-number: QTBUG-78945 Change-Id: I3361e63ed4830ac0e1ebb9d4b9495df09c45f476 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add initial support for CMake "Ninja Multi-Config" generatorAlexandru Croitor2020-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows doing debug_and_release builds with Ninja on all platforms. The "Ninja Multi-Config generator" is available starting with CMake 3.17. Desired configurations can be set via CMAKE_CONFIGURATION_TYPES. Possible values: "Release, Debug, RelWithDebInfo, MinRelSize". For example -DCMAKE_CONFIGURATION_TYPES="Release;Debug". The first configuration is the 'default' configuration which is built when calling ninja with no arguments. To build all targets of a certain configuration use "ninja all:Release" or "ninja all:Debug". To build all targets in all configurations use "ninja all:all". Note that the first configuration influences which configuration of tools will be used when building the libraries for all configurations. In simple terms, when configured with -DCMAKE_CONFIGURATION_TYPES="Release;Debug" the release version of moc is used by AUTOMOC. When configured with -DCMAKE_CONFIGURATION_TYPES="Debug;Release" the debug version of moc is used by AUTOMOC. Framework builds and Ninja Multi-Config don't currently work together due to multiple bugs in CMake, which ends up generating an invalid ninja file with duplicate rules. There are also issues with placement of the debug artifacts. This will be handled in a follow up patch after CMake is fixed. Task-number: QTBUG-76899 Change-Id: If224adc0b71b7d1d6606738101536146aa866cd7 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Make standalone tests build via top level repo projectAlexandru Croitor2019-11-082-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously repo/tests/CMakeLists.txt was a standalone project on which CMake could be called. This was useful for Coin to be able to build and package only tests, but was a bit troublesome because that means having to specify the usual boilerplate like minimum CMake version, which packages to find in every tests.pro project. Instead of having a separate standalone project, modify the top level project and associated CMake code to allow passing a special QT_BUILD_STANDALONE_TESTS variable, which causes the top level project to build only tests, and find Qt in the previously installed qt location. This also means that when building a repo, we generate a ${repo_name}TestsConfig.cmake file which does find_package on all the modules that have been built as part of that repo. So that when standalone tests bare built for that repo, the modules are automatically found. qt_set_up_standalone_tests_build() is modified to be a no-op because it is not needed anymore. Its usage should be removed from all the other repos, and then removed from qtbase. Non-adjusted tests/CMakeLists.txt projects in other repositories should still be buildable with the current code, until they are updated to the new format. Adjust the Coin build instructions to build the standalone tests in a separate directory. Adjust pro2cmake to generate new structure for the tests/tests.pro projects. Adjust the qtbase tests project. Fixes: QTBUG-79239 Change-Id: Ib4b66bc772d8876cdcbae1e90ce5a5a5234fa675 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix invalid condition for test executionToni Saario2019-10-251-1/+1
| | | | | | | | | | Equals_value check that if the property is same as given value. Equals_property compares properties in this case the OS of target and host. Change-Id: Ica42f0f99562911a97d2f6bd02bd8a6420c980ac Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: add Android buildLiang Qi2019-10-112-9/+94
| | | | | | | Task-number: QTBUG-78945 Change-Id: I0c9d3cc7de6d3bfb346a77d95a6bbcad6d707a74 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
* instructions: executeCommandArgumentSplitingBehavior when calling qt-cmakeLiang Qi2019-09-261-0/+1
| | | | | | | Change-Id: Ibe589ee181a08df9ec999c9b769fa560b2716aac Reviewed-by: Toni Saario <toni.saario@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Qt CMake Build Bot
* instructions: start to use --parallel when cmake buildLiang Qi2019-09-253-3/+3
| | | | | | Change-Id: Ia67f0f9413c2f99dbc3b7e978256c0301502ea1d Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* coin: increase the timeout between output for allLiang Qi2019-09-034-10/+10
| | | | | | Change-Id: I3906a08f5e0cce9abeeafbb67a83d31fbf67c703 Reviewed-by: Toni Saario <toni.saario@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Share most common part of module_config.yamlLiang Qi2019-08-306-120/+176
| | | | | Change-Id: Ieea5b662e039cff24e26a127b4a3a8610ed588cc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Split module_config.yamlJędrzej Nowacki2019-07-042-193/+203
| | | | | | | | | | | | | There are things that could be shared around all Qt submodules. In particular compiler specific configuration should not be repeated over and over. The new file can be included directly from all modules that uses QtBase. In longer term one would have a separate repository for such instructions as most of them are not QtBase specific. Change-Id: I0590b2a0c78b73e1b9dbb27cc1da6568cbe56563 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Remove debug printJędrzej Nowacki2019-07-021-8/+0
| | | | | | | | We do not need to print the whole cmake configuration anymore. Change-Id: I429e06f65258d0be0cf8b7c90e81c0593718e48c Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Qt CMake Build Bot
* Fix check for static buildsJędrzej Nowacki2019-07-021-1/+1
| | | | | | | | We should check if configureArgs has "-DBUILD_SHARED_LIBS=OFF", that means "contains_value" not "in_values". Change-Id: I6c0c3ac695fa439c68f3027e70adc389f6fb27c1 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Add proper test archive nameJędrzej Nowacki2019-07-021-1/+1
| | | | | | | | MODULE_ARTIFACTS_RELATIVE_STORAGE_PATH was pointing to a build artifact, instead of a path to a successful item. Change-Id: I01490e63e70beae2f613cda5451a9e2ddb5451fa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Skip building tests for static buildsJędrzej Nowacki2019-07-021-12/+12
| | | | | | | | | | | | We do not run the test in such configuration. In theory the build should success (it doesn't for now) but it creates a lot of data. So the coverage gain vs cost ratio is not great. This workaround aims to unblock cmake builds. Change-Id: Icd730d88bf800ee2e7764704a92238ec147d47f9 Reviewed-by: Qt CMake Build Bot Reviewed-by: Liang Qi <liang.qi@qt.io>
* Handle CMAKE_C_COMPILER and CMAKE_CXX_COMPILER automaticallyJędrzej Nowacki2019-07-021-3/+33
| | | | | | | | | We do not need or should to define these variables in the product configuration file. It should be enough to just have the compiler name. Change-Id: I797958a2c35641f1b79e4e74f3feb49312f8b9c4 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Disable tests when building staticallySimon Hausmann2019-07-021-21/+40
| | | | | | | The resulting test artifacts are way to huge to upload. Change-Id: I6df1f1c4bdb0fe2cfb7f7baed8999a1ee24b879e Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Fix symmetry between test artifact handlingSimon Hausmann2019-07-011-0/+7
| | | | | | | | | | The module yaml file provides the instruction for creating and upload the test artifacts, it might as well provide the instruction for downloading it. Coin sets the corresponding environment variable for the storage path now. Change-Id: I4aabe60e28c0c1a6d5934b3b7b797835a793a7fe Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Run tests using ctestSimon Hausmann2019-07-011-0/+11
| | | | | | | | | As an initial way this allows running tests. Coin does not yet collect the results and the logic for re-running is inside ctest. Change-Id: Ieab619d5f8f4ebdd8cd1293489db36d0bbd7c74a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Simplify test compilationSimon Hausmann2019-06-261-7/+25
| | | | | | | | | | We don't need the full cmake invocation as when configuring, instead we can use the qt-cmake wrapper script that uses the generated toolchain file. Change-Id: Ie0d554fbf8543d950112108d6a3f8a7c3a58a6a6 Reviewed-by: Qt CMake Build Bot Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Fix early warning systemSimon Hausmann2019-06-251-7/+0
| | | | | | | | Remove dummy test instructions that don't work right now and cause failures. Change-Id: I30195fe605419a8eb462e8315f71718dd86df412 Reviewed-by: Liang Qi <liang.qi@qt.io>
* SplitAfterVariableSubstitution is also needed for building testsLiang Qi2019-06-241-0/+1
| | | | | | | Just follow da7f40f7c2eb1a5928876de7b89abb55a2f8fdab. Change-Id: Iac0e96a42fa97bc002e3f11b6a6317ddc6e4187b Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Move ICC compiler name setup to instructions levelJędrzej Nowacki2019-06-241-0/+3
| | | | | | | | That way we can simplify product level configuration. Change-Id: I6825a10e4652dc7a730d23aaa7d4e7db9c079e50 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Update the instructions after CI changed way of splitting argumentsJędrzej Nowacki2019-06-241-0/+1
| | | | | | | | | | Now execute command can directly specified how the arguments should be divided. The default option doesn't work well for CONFIGURE_ARGS, because we want to pass it's result as a separate subprocess arguments. Change-Id: I6b7adb04164f5568d9ad2f45e3334d7a7a49bc79 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Change cmake generator selection mechanismSimon Hausmann2019-06-211-2/+5
| | | | | | | | | | By using the new environment variable for the generator selection introduced in 3.15, we can later select the visual studio generator once the qtbase build is fixed. This will simplify the VS selection code in this file and allow getting rid of the ENV_PREFIX and .bat file. Change-Id: I9f76b5714450ffa60b496aef0ce5a0c21e843bef Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Prepare for running tests with cmakeSimon Hausmann2019-06-211-5/+30
| | | | | | | | | | | | | | | | | This is just a small step towards the situation where we build the tests during the module build phase and later extract and merely run them. The general steps we need are: * build tests separately, which includes the cmake test plan * let coin archive the tests (build) directory * in the test VM unpack everything * run ctest on the test plan that was part of the tests archive This patch implements the first two steps. Change-Id: Ifb8321015d0d18ad20e8cf20bb8b746030202daf Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Port ICC specific instructionsJędrzej Nowacki2019-06-171-0/+15
| | | | | | | | | | | Coin implicitly was exporting some variables if ICC was used. This patch is just a first step to enable ICC in CI. To make it really working one would need to fix the QtBase code and enable ICC in qt5 repository. Change-Id: I2fca19ff10d7390fa013f511f167c0c1c2fba427 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Simple typo fixupJędrzej Nowacki2019-06-171-1/+1
| | | | | | Change-Id: Ifd2c6c3eef5aea4decdbe1fc6221139bf3447ba6 Reviewed-by: Qt CMake Build Bot Reviewed-by: Liang Qi <liang.qi@qt.io>
* Avoid hardcoding the underlying build toolSimon Hausmann2019-06-171-1/+7
| | | | | | | | | | | Since 3.15, not only --build can call the low-level build tool, --install can also be used to run the installation. There's also an environment variable that can be used to control the backend at cmake time, but that may only be useful later. Change-Id: I8c1ee48f946e110af3e824cf8980bbacbb94db99 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Qt CMake Build Bot
* Try to use %ProgramFiles(x86)% instead of custom codeJędrzej Nowacki2019-06-131-21/+6
| | | | | | | | | | | On Windows, we have a problem with locating MSVC. Depending on system version it can be installed in different directories. Currently we have a custom logic to handle it, but in theory we could just use "ProgramFiles(x86)" to abstract it. Change-Id: Ia94a41d9ef6229de712606f9a9d3d61a0abeb24f Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Remove double negationsJędrzej Nowacki2019-06-131-33/+33
| | | | | | | | | As now the configuration syntax supports enable_if, we can get rid of double negations. Change-Id: I5b8b695d4f7a72cd1a836b9b427096fb4e3b85a7 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>