| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I79010bae7f8627aeee894e468943cde90ce7b73f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
| |
We use that feature when compiling pdfium for qtwebengine
and qtpdfium if xfa enabled.
Fixes: QTBUG-111626
Change-Id: I362739e7529f89b1705d3c25a1c9849b13a1a968
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
ICU 68 is too old for the Chromium branch used by qtwebengine.
Pick-to: 6.5
Change-Id: I801d03ef7d4d12446a568c5dc9a50edeab8bf3c4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
components/paint_preview/common/subset_font.cc includes hp-cplusplus.hh
which appeared in harfbuzz 4.3.0.
Pick-to: 6.5
Change-Id: I147d1df34e88879826587341be58d00ede1487bb
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Webengine fails to build with 32bit Nodejs.
It crashes on devtools-frontend/src/scripts/build/compress_files.js.
Add configure time check for node binary.
Task-number: QTBUG-111852
Change-Id: I80844e36d5ae4621e2dae6fe61de883580b56a57
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Opus needs perl to do some optimizations, in case there is no
perl print the warning and drop the perl requirement.
Fixes: QTBUG-111958
Pick-to: 6.5
Change-Id: I63a66e71fdaeae61d5c9dbcfe41f03bfb717bb75
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
|
|
|
|
|
|
|
|
|
|
| |
This function is present in the headers even if the vp9 encoder is
disabled during build. It is actually used later, which leads to a
linker error when not present.
Pick-to: 6.4 6.5
Change-Id: I77247c76b29c132386c4d77861c0f63418321871
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows android builds are currently not supported
as upstream officially only supports android cross
compilation on linux. Moreover qt ci requires mingw
host build for android builds.
Task-number: QTBUG-83459
Task-number: QTBUG-111362
Change-Id: Icfa90d05002ab1af2a6173d965193062d4cd5526
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-83459
Change-Id: I39915206859f031dd78798eeb7b2b49f4f148452
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Adds a check on Unix system for the presence of a system OpenJPEG 2
library and builds against it if present.
Task-number: QTBUG-63889
Pick-to: 6.5
Change-Id: I9fd90c96d733154b912acf4e9c7f06c17a39b244
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chromium uses the 'first_dts' field from AVStream that has
been moved out from public api in ffmpeg 5.0.
Although some packagers patch their ffmpeg to be compatible
with chromium.
Add compile time check to test compatibility.
Pick-to: 6.4 6.5
Task-number: QTBUG-110749
Change-Id: I7658b9b12cb5122b6485f063edc3280f31fe9273
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
Hopefully not needed anymore.
Pick-to: 6.4
Change-Id: I5dd8fb072a8890e097464282d56d773d85acba74
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 'LINUX' variable exists in CMake since the version 3.25. This
variable previously was undefined while preparsing the configure.cmake
files. Since the CMake script that defines the 'check_for_ulimit'
function is not included while evaluating configure.cmake first time
we need to add a stub.
Pick-to: 6.2 6.4
Change-Id: I25bdec4f4a1b6af23174507a8f0f9cbf01f0c398
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Instead of fixing the code to compile with lower version,
simply require at least version present on ci.
Fixes: QTBUG-108029
Pick-to: 6.4
Change-Id: Ie6fbd7c3451a39c09dfb15e0cf9850672c9d4ea8
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I2ad190e5536cdbdc8d2656e61892545d66911a02
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
102-based requires 10.0.20348.0 windows sdk.
See: https://chromium-review.googlesource.com/c/chromium/src/+/3550827
Pick-to: 6.4
Change-Id: I5797020f56d76831bf957940974e2bc296adb429
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: I118bd63694cfe2c9a413af4a38828a31727f8e86
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
All required qtbase dependencies has been updated long time ago.
Pick-to: 6.4 6.3 6.2
Change-Id: Ibcf2b8d5397980d8b51a829b580e12a899ded1f8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far we only supported a cross-compiling with universal builds,
however qmake also supports 'regular' cross compilation (by setting
'-device-option'). This is semi-supported with qt-cmake as we need to
provide additional configure defines like:
* CMAKE_OSX_ARCHITECTURES=arm64
* CMAKE_SYSTEM_NAME=Darwin
* CMAKE_OSX_DEPLOYMENT_TARGET=10.14
It might seem to be a far fetched issue, however in case of webengine
doing the cross compilation for only one architecture allows to save
compile times when testing only arm64 builds.
Note we do not need to create gn toolchains for that case, however
unlike universal builds it requires host qt build for tools.
Pick-to: 6.3 6.2
Change-Id: Ica8470fdd4cad4866c1470e0403ffd019eaf39a6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
QtPdfQuick now requires 6.4.0
Change-Id: If5743d897ec50e759aff635693512e10bde32fdf
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Regexp matching against the build dir fails if the build dir contains
characters that would form a regular expression. Worse, the regex could
be malformed, and configuration would abort.
Also, renamed the features from webengine-system-* to webengine-build-*
to reflect what they are actually used for.
Pick-to: 6.2 6.3
Task-number: QTBUG-102323
Change-Id: I1b5f2bb156aaa7797fc059517a0d18c7d1cf9fd6
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix build with libc++ on linux by adding missing use_libcxx
parameter.
Check if re2 and poppler can be used as they use std::string in
their api. Add compiler test to check that.
Pick-to: 6.3 6.2
Change-Id: I74bf79b8443ad470621c1a2e0c9dc768d4cca1f1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add 3rdparty installed headers so static builds can
use bundled qt libs.
Fix static gn and archiver/librarian setup.
Updates 3rdparty:
* 5d88de975 Fix static build with qt3rdparty libs
Task-number: QTBUG-87154
Task-number: QTBUG-88614
Pick-to: 6.3 6.2
Change-Id: Iad7682da92b558b500140f415acc0bc9c9a1c22e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously if qtwebengine was configured with a CMake version lower
than 3.19, CMake would exit with a fatal error saying the version is
too low.
Now the CMake version check is delayed to the configure summary which
changes the hard error into a build time warning instead, just like
with all the other repo requirements.
An additional cmake_minimum_required call is used to require all 3.19
behaviors (upgraded policies) once configure establishes that the
CMake version is new enough.
Pick-to: 6.2 6.3
Change-Id: I03a20ae62ce2dcee23e5615241c6c97a86df4d2f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
| |
We need at least harfbuzz 2.9.
In ci qemu has outdated harfbuzz, so use bundled one.
Pick-to: 6.3
Change-Id: Ie6bcde1fba54d5f213741df02e1542d388d3ded0
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QtPDf iOS builds must support fat libs builds. Compared
to 5.15 however this is done differently. Before we tweaked gn
to compile multi arch with 'Xarch' parameter. This had few
downsides as we could not determine which arch/cpu compiles
given file as compilation was opaque to gn. The current approach is
to follow mac universal builds, compile builds separately for each
architecture and lipo the outcome. However, this introduces some
issues as ios builds are static builds and creating lipo archive
will gather object files, which should end up in final QtPdf lib
instead. Therefore create multi arch object file instead of archive
and use this one.
Note the compiler now uses arch triple for Pdfium as Chromium does,
however qt files still use 'arch' and '*-version-min' combination.
Task-number: QTBUG-88614
Pick-to: 6.3 6.2
Change-Id: I7775c8b4d1554df497eb61fa6187f12c00b9032d
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
| |
Change-Id: If9de5a87ff7c398a198a31fd4fd20858e82bec7e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
| |
This is the version available on RHEL, and appears to work.
Change-Id: I150138cc64b5a796acaeed838a8ec685d4a38c86
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
| |
Change-Id: I9fb8998a3a7762b0aea70993ca231f0bbf4f7761
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
| |
Check for windows 10 sdk was missing, add it back.
Fixes: QTBUG-97836
Pick-to: 6.2
Change-Id: I5551a217aff3e6f730aaec014d96c0d6ce7e396f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can configure webenigne repository with
FEATURE_qtpdf_build and FEATURE_qtwebegine_build
so make them public. The handling is still affected
by QTBUG-96936,however private vs public features
will most likely get better handling soon.
Fix build summary to better reflect build options.
Pick-to: 6.2
Change-Id: Ic6ef54a68b68d0f05c520a058665e6294efbe041
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support flags passed to main 'configure' and separate
'qt-configure-module' scripts with flags like '-no-build-qtpdf',
'-webengine-full-debug-info', '-no-webengine-jumbo-build', etc.
Fixes: QTBUG-95717
Pick-to: 6.2 6.2.0
Change-Id: Ia12602e9a9b31f4f2256f983f6c1e3fbe50cb9e3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
| |
It was removed in ed0f3c2e in qmake, but the change
was omitted in cmake port.
Pick-to: 6.2
Change-Id: I499c487d15ec1fcee2c407c7dcd44a097d042070
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
This enables compilation on one more coin node.
Pick-to: 6.2
Change-Id: I4e8079c6efd7476ce62fc9512de211e91b101a82
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By mistake opengl was marked as required library, but
should be just optional.
Fix compilation issues.
This should enable build on yet another coin node.
Pick-to: 6.2
Change-Id: Id87404928e6b042d902fcfe0a7fed99a6806456f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removal of external project removed also workaround for
coin bug, which is still not fixed.
Add linker launcher in case maximum number of open files is
below 4096 on linux for WebEngineCore target.
This launches bash script wrapper which sets ulimit.
This is poor man workaround and requires cmake 3.21 to work.
Task-number: COIN-699
Task-number: QTBUG-95590
Pick-to: 6.2
Change-Id: Ib9d0c4ced988d4692746e51f3abbe63ff5085836
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous gn-cmake integration was driven towards having the
complete cmake build tree which included gn build artifacts.
These were marked as IMPORTED in cmake build files, this way
cmake "knew" all object files and static libs coming from gn.
To achieve that we needed to run the cmake configure twice.
First to feed gn with the build information from cmake and
then the second run to import all the build information to
cmake based on gn run.
As a side effect of this the first run cmake was creating incomplete
targets, so we could use generator expressions to gather all the data
needed for gn run. The second run of cmake was able to create fully
initialized targets. We used 'external project' to run cmake the second
time.
This approach worked well when doing "module" builds and having two
targets, one in the main project and one in external was not an issue.
Moreover, this approach could be integrated nicely since CI does only
"module" builds.
Unfortunately "top level" builds are implemented to import all qt
targets into one build tree. This created issue for qtwebengine since
fully initialized targets were 'hidden' by 'external project' and
including half baked (dummy) targets from the main project resulted
in bunch of issues related to the dependency tracking and build race
conditions. Also using 'external project' complicated installation
rules and in the end installation worked differently than in other
modules.
With current approach we use response files, so we hide all build
artifacts coming from gn and feed cmake with those response files.
This way we run the cmake configure once and we create all the targets
once. Using rsp files hacks linker options in cmake, so this approach
is sub-optimal, however allows to have working "top level" builds.
It is worth mentioning here that the final module linking has to take
place with cmake's part of build since doing one static lib in gn is
not possible due to the toolchain limitation (msvc is not able to
process static libs over 4Gb and has no support for thin archives,
so only a shared lib is doable at time of writing)
Following changes are made:
* remove 'external project' for qtwebengine target, we keep it however
for ninja ,gn and a host project
* call gn from cmake in a scripting mode during build and not configure
run, this way BUILD.gn is assembled as a build step so after
generator expressions are executed
* BUILD.gn is assembled now from 4 files:
- root template BUILD.root.gn.in
- compiler data gn_config_c.cmake, gn_config_cxx.cmake
- sources data gn_cofnig_target.cmake
* since we use gn wrapper script use gn.args file to pass arguments
instead of a command line, so this file can be now easily modified
when running gn and ninja 'manually'
* since a script mode does not support handling of properties with
TARGET as such, use the DIRECTORY scope in some of our functions
which handle GN_TARGET
* use qt_build_repo() in main CMakeFile and remove all coin and top
level build hacks
* remove 'external project' for examples and tests, this is no longer
required as all qt targets are not hidden by external project
* remove leftovers from gn feedback call used for GN_TARGET
* improve installation rules, WebEgineCore target is not by default
installed during build, therefore we need to copy resources and
translations to root so tests and examples still can be built without
a module being installed first
* adjust GN lookup paths, we look for gn in main configure and during
scripting mode when gn is executed
Fixes: QTBUG-94349
Fixes: QTBUG-94709
Fixes: QTBUG-94922
Fixes: QTBUG-94997
Fixes: QTBUG-95051
Fixes: QTBUG-95152
Fixes: QTBUG-95158
Fixes: QTBUG-95972
Task-number: QTBUG-95231
Task-number: QTBUG-95590
Pick-to: 6.2
Change-Id: I5e7a34287ee59d904103fe310fc7c6a36a8dfbc9
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Fixes: QTBUG-95564
Change-Id: Ic3d018b9f3be245a382baf169ba4231663aa0b3d
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Port QtPdf to Qt6:
* QtPdf,QtPdfWidgets,QtPdfQuick libs
* QtPdfQuickPlugin, QtPdfPlugin (imageformat) plugins
* widget and quick examples
* qtpdf tests
To fit gn cmake integration and new repo layout code is a bit
reshuffled.
Compared to qmke build following features are not ported yet:
* ios fat libs
* qtbase 3rdparty static dependencies
WebEngine build can be skipped with setting
QT_FEATURE_qtwebengine_build=OFF
Note this patch needs follow up for 6.2 branch to disable qtpdf
builds by default, since this should not part of qt 6.2 release.
Pick-to: 6.2
Task-number: QTBUG-95353
Change-Id: I4dd9f3934bdd478fb6d2fa686074a24d91f09953
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I853adbd3fcf2f5e34a1ddd10e4f9a971a65d03b9
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes confusing configure output
Pick-to: 6.2
Change-Id: I17812524e3452d3b271a677d3877d1365ccfc38f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I416036a925167204cf5121108922911bce854352
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add arm cross-compile basic support. CMake does not
support host builds. However we do host build with gn and
changing that would require an extra effort to keep all necessary
changes with Chromium upstream. Therefore let gn to perform
the host build for required tools and just feed gn with all the
build data.
Add new build steps:
* install gn into QT_HOST_PATH/libexec.
* run hostBuild project to get native architecture and compiler
* call PkgConfigHost to pass pkg-config paths to gn
* create wrapper script for host pkg-config to escape
yocto shell pkg config exports
This change also splits gn toolchain into 3 toolchains host,target,v8
Now hostBuild provides host and v8 toolchain in case of cross compile.
The build optimizations will follow in another patch.
Fix not existing 'boot2qt' condition and enables more test on QEMU.
Note this is tested only with yocto based images.
Task-number: QTBUG-91760
Change-Id: Ic2bea12229acc71fbd36a848e9ed4fed7e14b485
(cherry picked from commit 3a962d8a2d3b70639a195fe5fd442f6c653bbe8f)
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.2
Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
|
|
| |
Pick-to: 6.2
Fixes: QTBUG-94759
Change-Id: Ie9a8fffc93fdf5564959965baae1ef9391f3307c
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the following error:
cd /path/to/qtwebengine/build && cmake -E cmake_echo_color --red QtWebEngine\ will\ not\ be\ built:\ Python\ version\ 2\ (2.7.5\ or\ later)\ is\ required.
/bin/sh: 1: Syntax error: "(" unexpected
ninja: build stopped: subcommand failed.
Fix also an identical issue spotted a few lines underneath.
Pick-to: 6.2
Change-Id: I7ce667c182b48c0557bf52b67defc375e67134d6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Chromium builds on arm are still experimental, but we want to enable
them in the CI in order to see when things break.
Pick-to: 6.2
Change-Id: I9e37fd97eb5a3dc680dc16404c22b97f780b4b9f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Check for QT_CONFIGURE_RUNNING and
- don't call find_package
- define stubs for functions that are incompatible with qt-configure-module
Change-Id: I2032302c25e1bcac6939a665cd6f136de8421acf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-94189
Change-Id: Ieb3818410435af979309da7cda50f8ed3fca9023
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTQAINFRA-4459
Change-Id: I7d84f14340f7a755ce4c2816d3f62f340139b4de
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|