summaryrefslogtreecommitdiffstats
path: root/coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Build examples with qmake against a CMake built QtAlexandru Croitor2020-12-041-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | We want to remove the Qt .pro files for projects, except examples, because examples are still meant to build with qmake. To not lose coverage on examples built with qmake, add instructions that will build the qtrepo/examples folder with qmake when the CMake configuration has -DQT_BUILD_EXAMPLES=ON. This means that such configurations will build examples both with CMake and qmake. Aside from making sure that our examples will still build with qmake, it will gives us some some coverage that a CMake-built qmake works correctly. Implementation-wise, add new instructions files that can call qmake and make depending on configuration and target type. Fixes: QTBUG-85986 Change-Id: Ie8f4cbcda03c94da2aef455e32f48dad41a4bdb0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 24f12d0cefe00adfe1b11cf41efbb146d529a6cd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Name QT_NO_MAKE_*/BUILD_* variables consistentlyJoerg Bornemann2020-11-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For consistency, apply the following renamings: QT_NO_MAKE_EXAMPLES -> QT_BUILD_EXAMPLES_BY_DEFAULT QT_NO_MAKE_TESTS -> QT_BUILD_TESTS_BY_DEFAULT QT_NO_MAKE_TOOLS -> QT_BUILD_TOOLS_BY_DEFAULT BUILD_EXAMPLES -> QT_BUILD_EXAMPLES BUILD_TESTING -> QT_BUILD_TESTS This should help to better convey the difference between "BUILD" and "NO_MAKE". To configure tests, but not to build them by default, pass the following to CMake: -DQT_BUILD_TESTS=ON -DQT_BUILD_TESTS_BY_DEFAULT=OFF Analoguous for examples: -DQT_BUILD_EXAMPLES=ON -DQT_BUILD_EXAMPLES_BY_DEFAULT=OFF Tools can be excluded from the default build with: -DBUILD_TOOLS_BY_DEFAULT=OFF The variable BUILD_TESTING is still available and initialized with the value of QT_BUILD_TESTS. Change-Id: Ie5f29dfbdca8bfa8d687981dfe8c19c0397ca080 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit fb21a5ce1a5831fab2af5e4d301600d6a6211e5d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Use CMAKE_AUTOGEN_VERBOSE to see moc invocationsToni Saario2020-07-241-2/+2
| | | | | | | | | | In qmake builds we can see the moc invocations, whereas in CMake builds by default we don't. Modify the Coin instructions to pass the CMAKE_AUTOGEN_VERBOSE cache variable so that AUTOMOC prints the moc invocations. Change-Id: I50be13224839fbbdece3c9e8a4935a72aba91a8e Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Add instructions to re-use host artifacts for target buildsToni Saario2020-07-241-28/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want to build the host Qt configuration every single time we do a cross-build in Coin. Coin learned some new qt5.git platform configuration options, which allow specifying a dependency between a host Coin configuration and a target one. This means we can specify a host macOS config as a dependency when building iOS, and the host artifacts for all dependent repos (qtbase, qtsvg, qtdeclarative, etc) will be installed into /home/qt/work/install (as specified by the {{.AgentWorkingDir}}/install location). Same for Linux + Android and Linux + qemu. Modify the qtbase Coin instructions to use these installed host artifacts if such a dependency is present (platformDependency is not null). The target artifacts will be installed into a subfolder of the host installation, called 'target', e.g. /home/qt/work/install/target. If a dependency is not present, continue to build a host Qt before doing a target build. This allows gradual conversion of configurations in case if some of them don't work, or if the dependencies.yaml have not propagated far enough for all new repos to use the new instructions. In this case the locations of the artifacts are different host - /home/qt/work/install/host target - /home/qt/work/install/target Task-number: QTBUG-85623 Change-Id: I33539f4376034539fb7db80293dc4d39dcb9539b Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Use custom install script to support Ninja Multi-Config buildsAlexandru Croitor2020-05-191-24/+10
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Add support for building building against yoctoSimon Hausmann2020-04-291-4/+4
| | | | | | | | 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>
* CMake: Pass --verbose flag to ninjaAlexandru Croitor2020-03-131-2/+2
| | | | | | | | | 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>
* coin: remove contact person for cmake issuesLiang Qi2020-02-131-4/+4
| | | | | | Change-Id: Id274bf821f424077e7259ed42433f2ef88153c36 Reviewed-by: Toni Saario <toni.saario@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: upload artifact for qtbase android build and etcLiang Qi2020-02-071-0/+87
Task-number: QTBUG-78945 Change-Id: I3361e63ed4830ac0e1ebb9d4b9495df09c45f476 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>