summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Add examples to the cmake buildMichal Klocek2021-05-221-0/+13
| | | | | | | | | | | | | Add only quick and widget examples to the build for now. Update examples qmake files so the ci can also build qmake examples after the cmake bulid. Note this patch breakes qmake builds. Task-number: QTBUG-91760 Change-Id: Ia867a49bc3deab1967bdedcf525ad4afe3967c2a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add WebEngineWidgets, WebEngineQuick modules cmake buildMichal Klocek2021-05-191-0/+2
| | | | | | | | | Fix some library dependencies and make proper header includes in core. Task-number: QTBUG-91760 Change-Id: I415361dd42ef2cc39716ce3f5f56e6e8556ac4c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add QtWebEngineCore module cmake buildMichal Klocek2021-05-191-8/+20
| | | | | | | | | | | | | | | | | | | | | Create QtWebEngineCore, QtWebEngineProcess and drive headers sync from the libs project. Main project build should not generate any header files, since the logic in qtbase assumes fixed QT_BUILD_DIR, which is by default CMAKE_BINARY_DIR for prefix builds. Drive all syncqt calls from the libs project and leave the main build just for the feature evolution and the build summary reporting. This fixes header installation issues, however this patch requires also sync.profile update which is done later, to keep the qmake build still functional. Note this patch only adds debug builds for linux. Task-number: QTBUG-91760 Change-Id: I516c26206baa1cf6b966629a694dadce7f79dbec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add BUILD.gn generation for the gn root and gn toolchainMichal Klocek2021-05-121-0/+1
| | | | | | | | | | Use simple templates. This will get own target in followup changes. Task-number: QTBUG-91760 Change-Id: I0b6991f7b54183aa9fb667cec5ad347f66c78b99 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Pass qtfeatures from the main project to the lib projectMichal Klocek2021-05-121-3/+13
| | | | | | | Task-number: QTBUG-91760 Change-Id: I56aaf6af42eb1877acbc0faf4e125bc8de4c72fb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add configure.cmake filesMichal Klocek2021-05-121-0/+31
| | | | | | | | | | | | | | | | Only evaluate features in the super repo and do not create config headers files during the configure step. However, print the build summary. The build config headers will be created during the configure step of 'libs' external project. Done-With: Jüri Valdmann <juri.valdmann@qt.io> Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io> Task-number: QTBUG-91760 Task-number: COIN-711 Change-Id: I481525571e71ca4684de5827f641416035a8f22a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Setup cmake projectMichal Klocek2021-05-121-0/+71
Add the top level cmake project and ninja and gn cmake builds. Make ninja and gn build optional. With qmake we had four stages during the build: * configure (initial dependencies check) * qmake (build ninja, build gn, run gn) * make (compilation) * make install With cmake we have some limitations: a) we need to pass the build config to gn, however cmake evaluates generator expressions during the generation phase this means we need a recursive call to cmake b) qt-cmake qtbase logic (+syncqt) assumes "fixed" build locations to handle deployment of headers and libs (it uses CMAKE_BINARY_DIR for QT_BUILD_DIR) c) cmake can not run twice in the same build directory d) running recursive/child cmake, makes all generated targets not accessible during configure time of parent's cmake e) cmake can only "build" things for subdirectories To deal with mentioned limitations and to keep things simple we will split those steps into separate projects: * SUPERBUILD - this project does dependency checks, only evaluates features to show the build summary and passes them to EXAMPLES,LIBS,TESTS projects, it also runs the generator expression to feed LIBS project's cmake, it does not try to run syncqt as result of (b) and (c) * NINJA (build ninja) * GN (build gn) * LIBS - projects runs simplified feature evaluation (CONDITIONS resolved by SUPERBUILD cmake) to generate build headers (+syncqt), it also runs gn during configure and does all libs compilation. The project's source root must be "src" directory as a result of (a),(b),(c) * EXAMPLES - builds examples as a result of (d),(e) * TESTS - builds tests as a result of (d),(e) Each of projects will have three stages: configure, compile, install. Task-number: QTBUG-91760 Done-With: Jüri Valdmann <juri.valdmann@qt.io> Change-Id: I3b44decefa17f177e5e07c563796aa158a0b0ecb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>