| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check the version before using gn, since some systems
can have already gn installed. In case of cross builds
gn is installed into host qt and can simply end up in /usr/bin
path of x86_64 sysroot in case of yocto builds, meaning it will
be picked up by the host system path. Moreover, findGn.cmake
is also going to be installed and should not just look for non
existing builds paths.
One can also avoid pointless recompilations of gn for every
single clean build. Gn can be easily installed by simply building
the "gn" project:
cmake path/to/qtwebengine/src/gn
cmake --build . --parallel
cmake --install .
Note setting DCMAKE_INSTALL_PREFIX and/or DESTDIR
can install gn to desired location.
Change-Id: Ie8f989c838dad2e6e7e346a4f6a861e187ec037f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
Fix cmake for windows builds and add QtWebEngineSandbox target.
Task-number: QTBUG-91760
Change-Id: If962a81ddfb509d104ad8ffbfbf34f1150ae82ce
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We need to pass -F or -iframework to gn as a compiler flag, however
cmake keeps this parameter as include dir and adds internally
"-iframework QtFoo.framework/.." for the compiler call. This internal
handling can not be accessed with the genex. Add the manual conversion.
Task-number: QTBUG-91760
Change-Id: Id12831432ccb0516be52f79bd5f6cfcbe7e87d9c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor the gn handling and add:
* the gn target for encapsulating resources needed to
run chromium builds
* the support for SOURCES, INCLUDES, DEFINES, COMPILE OPTIONS.
* the multi config support for cmake and enable debug,
release builds
* CONDITION evaluation for the gn target and the gn arg list
* the linux specific config and all missing source sets
* use REALPATH instead of ABSOLUTE, this fixes missing
drive letter on windows
Task-number: QTBUG-91760
Change-Id: Ib283d8ab817ff36ee9c94c2b8f44785709c45258
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
QtWebEngine requires support of TARGET_PROPERTY for genex in
gn template generation to dump all compilation flags.
This is supported since version 3.19, set examples to 3.16 as
rest of the qt.
Task-number: QTBUG-91760
Change-Id: Ifa5903c8c6efcb160db05baf1e18c865b48bcf39
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
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>
|