| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The script is now automatically called in the cmake build,
as part of the create_pyside_module macro.
The script runs after every module build and tries to
generate .pyi files. This does not need to succeed, but
will generate all files in the end. The script has been prepared
to allow partial runs without overhead.
After integration of the .pyi generation into cmake, these files
are also installed into the install directory by cmake.
For wheel building, setup.py has entries, too.
Building a full project with all modules revealed a bug in the
signature module that allowed unsupported function objects.
Module enum_sig had to be changed to suppress types
which have no ancestry in shiboken.
PYTHONPATH was avoided because it was not Windows
compatible. Instead, the script was changed to accept
"--sys-path" and "--lib-path" parameters. The latter evaluates
either to PATH or LD_LIBRARY_PATH.
The necessity to create .pyi files while the project is in the
build process showed a hard to track down error condition
in PySide_BuildSignatureProps.
Simple logging was added as a start of introducing logging
everywhere.
Task-number: PYSIDE-735
Change-Id: I6b3eec4b823d026583e902023badedeb06fe0961
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The module-specific glue files as well as the standalone glue files
are now installed into the PySide2 package.
The glue files are now also listed as dependencies for the shiboken
generator run, which means that modifying those files will now
correctly force a shiboken re-run for the relevant modules.
Change-Id: I545c7ada379fafb7f225d0b0f5ce495bf6d4795d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
ninja will be recommended build tool/CMake generator for Qt due to its
speed. Streamline the option parsing code and add it.
Adapt the test runner to find the ctest command in the ninja build file.
Change-Id: I61dd6fd4fb26a50af21432e10e7da86123240e0f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: Ifdacba5202c573192b57a834df510776597ccf61
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
| |
Add a _verbose setting to the utils module and set it depending on
option --quiet. Depending on this, suppress the messages about
copying files, shortening the build log by over 1000 lines.
Change-Id: I3f9abce3b145d43c4fe615f624ca4e2769a269f8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Check for the standard (build command) options --parallel/-j and
deprecate --jobs.
Fixes: PYSIDE-809
Change-Id: Ice5eaa787f84f093db6e7b3d2168332d5dfbab1f
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Fix:
setup.py:243: DeprecationWarning: invalid escape sequence \O
"""
build_scripts\main.py:143: DeprecationWarning: invalid escape sequence \d
pattern = "Programming Language :: Python :: (\d+)\.(\d+)"
Change-Id: Id9574077d6ad82a5a6852d8c6e02e931f8a079de
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
| |
Remove all occurrences of the option in question and output
a warning should it appear multiple times.
Task-number: PYSIDE-809
Change-Id: Ic78b753e28032081cd99a17da93c0deab9e85210
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
| |
Change-Id: I49b7491be9649979f9f9487e983bdc4be355de07
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
...\build_scripts\utils.py:548: DeprecationWarning: invalid escape sequence \d
'[\d.]+\)')
...\build_scripts\utils.py:695: DeprecationWarning: invalid escape sequence \d
version_re = re.compile('(\d+)\.(\d+)\.(\d+)')
Change-Id: Ic03cf2997885a5806141bf4b05527f5f005290ae
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Augment coin_test_instructions.py to run a new script
testing/wheel_tester.py, which tries to pip install the built
wheels, and then tries to build the samplebinding and
scriptableapplication examples.
This allows us to confirm that the generated wheels are actually
installable, and also hopefully prevent us from breaking the
embeddable examples, by making sure that they at least build
(and execute in the case of samplebinding).
The change also modifies the examples to be able to take the
python executable as build argument, so that wheel_tester
can specify explicitly which python interpeter to use.
Change-Id: I0f141e40ab86e3311dd25915c4e53b0af36aaae9
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Actually this creates 3 wheel packages:
- shiboken2 (the python module and libshiboken shared library)
- shiboken2-generator (contains the generator executable, libclang and
dependent Qt libraries)
- PySide2 (the PySide2 modules and Qt shared libraries, and tools like
rcc, uic)
Calling the setup.py script will not do the actual build now (in the
sense of calling CMake, make, etc.). Instead it will spawn new
processes (via subprocess.call) calling the same setup.py script,
but with different arguments. These "sub-invocations" will do the
actual building. Thus, the "top-level invocation" will decide which
packages to build and delegate that to the "sub-invocations" of
setup.py.
A new optional command line argument is introduced called
"--build-type" which defaults to "all", and can also be set to
"shiboken2", "shiboken2-generator" and "pyside2". A user can choose
which packages to build using this option. The "top-level invocation"
uses this option to decide how many "sub-invocations" to execute.
A new command line argument called "--internal-build-type"
takes the same values as the one above. It defines which package
will actually be built in the new spawned "sub-invocation" process.
The "top-level invocation" sets this automatically for each
"sub-invocation" depending on the value of "--build-type".
This option is also useful for developers that may want to debug the
python building code in the "sub-invocation".
Developers can set this manually via the command line, and
thus avoid the process spawning indirection.
A new class Config is introduced to facilitate storage of
the various state needed for building a single package.
A new class SetupRunner is introduced that takes care of the
"--build-type" and "--internal-build-type" argument handling
and delegation of "sub-invocations".
A new class Options is introduced to 'hopefully', in the future, streamline
the mess of option handling that we currently have.
setup.py now is now simplified to mostly just call
SetupRunner.run_setup().
Certain refactorings were done to facilitate further clean-up of the
build code, the current code is definitely not the end all be all.
Various other changes that were needed to implement the wheel
separation:
- a new cmake_helpers directory is added to share common cmake
code between packages.
- the custom popenasync.py file is removed in favor of using
subprocess.call in as many places as possible, and thus
avoid 10 different functions for process creation.
- Manifest.in is removed, because copying to the setuptools
build dir is now done directly by prepare_packages functions.
- because prepare_packages copies directly to the setuptools
build dir, avoiding the pyside_package dir, we do less copying
of big Qt files now.
- versioning of PySide2 and shiboken2 packages is now separate.
shiboken2 and shiboken2-generator share the same versions for
now though.
- shiboken2 is now listed as a required package for PySide2, to
facilitate pip requirements.txt dependencies.
- coin_build_instructions currently needs to install an unreleased
version of wheel, due to a bug that breaks installation of
generated wheel files.
- added separate command line options to pyside2_config.py for
shiboken2-module and shiboken2-generator.
- adapted samplebinding and scriptableapplication projects due to
shiboken being a separate package.
- adapted pyside2-tool and shiboken2-tool python scripts for setup
tools entry points.
- made some optimizations not to invoke cmake for shiboken2-generator
when doing a top-level "all" build.
- fixed unnecessary rpaths not to be included on Linux (mainly the
Qt rpaths).
Task-nubmer: PYSIDE-749
Change-Id: I0336043955624c1d12ed254802c442608cced5fb
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
| |
Task-number: PYSIDE-779
Change-Id: I3888ba58f186a2fca84414fed3243a41650f6774
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
The default is not compatible with certain Linux accelerations.
This reverts commit 99bfe460b85ccb3562e10f12972852233870e649.
Change-Id: I8b6a2854adc40d6b9949a8d92f0b521a94940ba4
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If '--jobs' option is not specified and environment variable isn't set,
set it to the number of logical CPUs if possible.
I'm adding the option almost every time I run 'setup.py', and probably
other people do it too. So maybe it's a good idea to enable parallel
build by default. I don't know why anyone would want a non-parallel
build, but it's still possible with '--jobs=1'.
Change-Id: Id593b7d472588d33f01c52a21afa1a08eacb04a6
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
| |
Change-Id: I9165a8a5ad78909f345c505fa0a56cd58c1bb69e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\
| |
| |
| | |
Change-Id: I302543eef74bc1f3dc6340cdfab7510a66ea1b6a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Determine the library name by resolving just one symlink
so that the name containing only the major version is used
as target name (libclang.so.6 instead of libclang.so.6.0
obtained by completelely resolving the symlinks).
Task-number: PYSIDE-756
Change-Id: If70f292b2f1d0002d2d944fb019838ea4a623882
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I7e3add2bdd36c0fe9fe99122d35a4409fed80773
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add path search helper and use installed patchelf instead of
building the contained source.
Task-number: PYSIDE-740
Change-Id: I8043aa58ff9ebc4884eee9f15745865f10bb30fe
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| | |
Change-Id: Idd0f8721854614bf7ba2d9d38372627f8ed1b6b1
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I85c005419736d5abf65077ff259509610853af4e
|
| |
| |
| |
| |
| | |
Change-Id: I777cf3bd4f060610782fe6a09acd0e10ef713f0b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ib2eeca97ebabcff53ef7ddd9fc769be6424db39f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For some shortcomings of bdist_wheel, it was necessary to
write a modified wheel version.
This patch reorders the parts a bit and avoids extra indentation to
make it easier to compare the resulting diff to bdist_wheel.py with
a simple compare tool like sublimerge.
The semantics of the patch is not changed at all.
The patch itself can be best inspected using a diff tool which ignores
whitespace.
-----
We should consider to submit a patch to python.org that has
the necessary improvements for the wheel format, so we can get rid
of this file.
Change-Id: I1f54ad7cb93d64b57462311e5334c906e27d84a0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PySide has successfully been tested with the Python 3.7 branch.
There will be no change in the areas that are important for us.
It is then safe to bump the supported version and the limited API version
checks to fully include Python 3.7.
The macro errors in the limited API was fixed by a pull request, but it
was too late to get it into 3.7rc1.
The error workaround was therefore extracted into pep384_issue33738.cpp
and will be deactivated later.
Change-Id: Iec3f277b02cac03a5cf44cbcf955ddc690c112e5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-696
Change-Id: I20a4f80acceee5c056217a6c92e3b494ec34020d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When preparing the PySide2 package during a build,
regenerate_qt_resources is used on the copied examples to regenerate
the qt resource files for Python3. This uses the pyside2-rcc tool.
The problem was that it failed to find the Qt libraries, due to
missing a rpath entry.
Fix the problem as it is done for shiboken currently, by embedding
the qt rpath value at build time. This get rids of a bunch of error
messages during the build.
Change-Id: I65459bf42818bdac0c6487c6fdd58bf5270d150e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds a new setup.py option called --package-timestamp
which allows setting the "dev" part of the version number of a
snapshot package.
It also modifies coin_build_instructions.py to set the package
timestamp to the value of the Coin integration ID.
This has a couple of benefits:
1) We can look up the build and test logs of a specific package
on testresults.qt.io.
This can also be looked up for non-snapshot builds, the
"timestamp = Coin integration ID" can also be found in the
generated __init__.py file.
2) All the different platform packages within one integration
will have the same timestamp, which allows pinning snapshot
packages inside a pipenv Pipfile.
3) It's easier to figure out which packages were built as part
of the same Coin integration.
Task-number: PYSIDE-680
Change-Id: Idb2f2d2313cee213a5d742f88b60315a4e505250
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I7e55b4f27f77e2333b9e0f4cddc8de4b89b6043b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is only one method we really need, QtWebEngine::initialize()
which is used for all Qt Quick based WebEngine applications. Otherwise
you get a warning upon startup of a Qt Quick WebEngine application,
and this might lead to undefined behavior.
Task-number: PYSIDE-688
Change-Id: I7de2bbb58c49cb2a41b0e13ffc9de6a3161f3960
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |\|
| | |
| | |
| | | |
Change-Id: I2de0fe8456fca242c56ea28520126f9ebbf540d8
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I6b5f974b15398e0926425b1eae24ee1a4813f48d
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is intentional, because of verification code regarding
Python buffers.
So instead of lying, we remove those python version bits from the
generated package name, aka instead of "cp35.cp36.cp37.cp38"
it is now only "cp35.cp36".
Change-Id: I2891f64e93821d3a3ccb693f28576c34d1365606
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|/
|
|
|
| |
Change-Id: I7baa695fe4100e15b108e4eb7df15c6af7db2cbe
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
The function didn't check the value of
pre_release_version_type when printing the version.
Change-Id: I29db3f40e6fa8c397432433aa285b30f15b8e3ca
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was weird seeing "-DFORCE_LIMITED_API=yes" being passed from
setup.py to CMake when "--limited-api" is not included on the
command line, and then seeing "-DFORCE_LIMITED_API=yes" with Python 2
builds. It gives the impression that maybe it could work with
Python 2.
Instead, don't pass "FORCE_LIMITED_API=yes" from setup.py by default
(but still pass it if it's present on the command line), and instead
default to "yes" within the CMake project themselves.
In the end nothing changes, limited API builds will still be default,
but at least it's not as confusing to see the
"-DFORCE_LIMITED_API=yes" lines for Python 2 builds in the CI log.
Change-Id: I08c863394dd148d88bec324a6cab35459d75303a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PyPI only accepts binary Linux packages that are built conforming to
PEP 513 / manylinux1 support. The gist of it is that extensions need
to be built on CentOS 5, so that they work on most newer distro
versions than that.
Official Qt can't be built on such an old distro. The minimum
requirement is thus CentOS / RHEL 7 (which we used for packaging
Qt 5.11.0 on Coin).
We do want to upload packages to PyPI, so we have to resort to
including "manylinux1" in the name. Currently this is tied to
the limited API option.
TODO: In the future we should name packages "manylinux1" only
when the distro version is acceptable for Qt build requirements
(RHEL 7.x). It might get a bit messy though, due to
platform.linux_distribution being deprecated, and the necessity
to depend on the new "distro" package.
Change-Id: Ic4dfccd87d810360cbbfce72b27d5fa31e2a59dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Wheel has poor support for naming wheel packages that were built
with limited API enabled. We need to override some of bdist_wheel's
methods to generate a correct name and correct metadata.
Move the pyside_bdist_wheel class into a separate file, and implement
the necessary logic.
Change-Id: I23d814cbb794052fb18a1e018f7b767c60945254
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This is the condensed checkin of 18 commits which created
the implementation of PEP 384.
Task-number: PYSIDE-560
Change-Id: I834c659af4c2b55b268f8e8dc4cfa53f02502409
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Amends 6f894c2667c77e2580e7312d2ebed05efa7d654e.
Reduces Qt 5.11.0 Linux wheel size from ~219MB to ~139MB
(~80MB delta).
Task-number: PYSIDE-661
Change-Id: Iaae1089183148037d94fe541f26426fd51c0f54d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: I8dc16c10565da8f93ba5cb7cace004f8eaf52236
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
|
|
|
|
|
|
|
| |
To be able to create 32 bit wheel in 64 bit Windows, we must use
correct Python version.
Task-number: PYSIDE-646
Change-Id: I72c05e9c5b6f37f16c118e36c3c7ea8f90ee7dff
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow the user to skip a set of modules when building
the module.
An example of using this option:
--skip-modules=WebEngineCore,WebEngineWidgets,Multimedia
Change-Id: I4b7a25acd60d068a886c1e716ddb7b226814b96f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
1) Don't copy pdb files for QML plugins on Windows
2) Don't copy debug variants of EGL library on Windows
3) Don't copy debug variants of shared libraries on macOS
Task-number: PYSIDE-661
Change-Id: I37c701f3b12f3ad08fbdd24ab70587132ddc0c95
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
It can be pretty long lasting process to get updates to Qt CI. To
speed up pyside specific changes we move some of the logic to
pyside repository.
Change-Id: I7d60bf96324d5990fb408d69c00aa4d7e8e81a2f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I794e0b094c7be96853c9c5024ede49ea54731506
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When doing a standalone rebuild on macOS, if the libclang library
copied over has no write permissions set, the install procedure will
fail with permission denied error.
Make sure to make the file owner writable, so that any subsequent
rebuilds don't cause a failure.
Change-Id: I54bb3f6e8bd8db7f8ed2de17892fcedec09b6c32
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Instead of copying a multitude of symlinks, resolve the path and copy
just the libclang library which CMake detected, and thus linked
against for the shiboken executable.
Change-Id: I02887eb4027d29255a32127fb39aff7a1d127f57
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
| |
Adding option to avoid building the documentation.
Change-Id: Ia5595e6686c6e7d31e94818c1efb28238a3fbfc7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|