| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Includes latest change regarding ninja.
Change-Id: I6169533c8019601031a5140d2a9f2387ff6bbebf
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The argparse interface had a bug when started without "run"
Parameter.
Improved the formatting to be more close to PEP 8.
Reworked parser to include "--skip" to skip existing output files
and to ignore non-existing modules. This is to simplify file
handling during automatic creation during a build.
The automatic installer was extracted as an extra patch.
This one should not be subject of a discussion.
Change-Id: I3b6242b7cc459a7080bd8d48f4a37d4582eafb51
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implementation formats all signatures in a way
that is known as type hinting files (.pyi).
Usage
-----
The script is to be called by the same Python interpreter that
was used to build PySide. It works with Python 2 and 3.
On Python 3, it performs a self-test.
python3 sources/pyside2/PySide2/support/generate_pyi.py run
will generate .pyi files for all compiled PySide modules
and places them into site packages to the binaries.
An optional outpath can be specified.
It is planned to call this script automatically after install.
o Local constants are not included, yet.
Maybe they never will, unless requested.
o The keyword "from" appears 43 times in argument lists.
It is fixed in Python, only which does not matter.
o When using Python 3.7 or above, it respects Pep 563 and
avoids imports which are deferred to runtime.
Task-number: PYSIDE-735
Change-Id: I3bcd5d9284b853fe955376bf35c7897e3698da2b
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
| |
Change-Id: Icc009fde4ac6266f4beaf29b235a6af27d1a7d1d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-834
Change-Id: I2530b44f704ef96b784a77512f71777d9fd492bb
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PySide project has been split into three pieces, including
Shiboken. This had far-reaching consequences for the signature project.
Shiboken can be run together with PySide or alone,
with tests or without. In every configuration, the signature
module has to work correctly.
During tests, the shiboken binary also hides the shiboken module,
and we had to use extra efforts to always guarantee the accessibility
of all signature modules.
This commit is the preparation for typeerrors implemented with the
signature module. It has been split off because the splitting
is not directly related, besides these unawaited consequences.
I re-added and corrected voidptr_test and simplified the calls.
Remark.. We should rename shiboken to Shiboken in all imports.
I also simplified initialization. After "from PySide2 import QtCore",
now a simple access like "type.__signature__" triggers initialization.
Further, I removed all traces of "signature_loader" and allowed
loading everything from PySide2.support.signature, again. The
loader is now needed internally, only.
Also, moved the type patching into FinishSignatureInitialization
to support modules with no classes at all.
The "testbinding" problem was finally identified as a name clash
when the same function is also a signal. A further investigation
showed that there exists also a regular PySide method with
that problem. The test was extended to all methods, and it
maps now all these cases to "{name}.overload".
Updated the included typing27.py from https://pypi.org/project/typing/
from version 3.6.2 to version 3.6.6 .
Task-number: PYSIDE-749
Change-Id: Ie33b8c6b0df5640212f8991539088593a041a05c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
| |
Looks like a qt5.git upgrade broke something.
Change-Id: I57ec39b2ce2154745bb49028b5bf65dd87dcb34f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When code must be modified or added to certain
functions, we currently have two options:
* Write a template and include it into the typesystem,
* inject code directly at a certain place of the function entry.
The problem with injecting raw code is that since it is an XML
file, one need to escape protected symbols, like "<" and "&".
Thanks to a couple of complementary commits, now we can place
this code snippets on a separate file without triggering
a whole module compiling process, since the typesystem itself
will not be alterered.
All the injected code from the typesystem was removed
and placed into a single file per module inside a top-level directory
called glue.
Some small fixes were included mainly regarding styling
of the code.
Task-number: PYSIDE-834
Change-Id: I823e92d241a528d75d5940090008db9bf297f49e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@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>
|
|
|
|
|
|
|
|
|
| |
Fix COIN script and documentation.
Amends 9ec0fab3d67d7c5ecc3cb8d45d3ee8abc38aa8e0.
Task-number: PYSIDE-809
Change-Id: I217a34a4074a55cfeee9b00898a5e5a09f3f2bb8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation of the enum operations,
wrongly assumes that the first element is always an enum.
This patch add some logic to determinate the types
we are dealing with, to allow operations like:
2 + QtCore.Qt.Key.Key_1
which were not accepted before.
Float numbers are not accepted for enum operations
and a test case was included.
Some tests were adapted since they were wrongly
implemented.
Fixes: PYSIDE-830
Change-Id: I407dca2b7c39fc684dbdac19ad45d259403ebadd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
| |
Specify C++ ownership for the event (as is done for
QCoreApplication::postEvent() and similar).
Fixes: PYSIDE-850
Change-Id: I8d34842823d80779716d407e4fa6268533c5d080
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
| |
Task-number: PYSIDE-852
Change-Id: If1ff8407c7f9449be278869e91104372fa86790f
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ic4bb7f2846bac827d35e733e817f8f2beed19ad8
|
| |
| |
| |
| |
| |
| | |
Change-Id: I96cbb7dc06572629f88f11e5d75dd2a20ffe5def
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |\
| | |
| | |
| | | |
Change-Id: Id7af425afcea1c649e0d36c625608b31b1de72ce
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I73873b8e98edfc8b9544b646fb7d11c6cfe551cf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: I8d2b5b0a84bfe8dccd30c253084a9473cef32def
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Empty pre-release string creates wheels with correct name.
Change-Id: I2eed39a9fb6ea5a3ce6138216ee6e9ffbf016b75
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
Change-Id: I03448197e461ca5098009b772d35f2bf09d00eb0
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We are missing the required provisioning script from Qt5 5.11.0 branch,
so we are installing the 32 bit Python environments ourselves.
Change-Id: Icd95a4708bc9e5693bb21b31c0e9d30d6fd632e6
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The rhel 6.6 is missing libclang in 5.11.0
Change-Id: Ieff935fad51595c56d413528c62a18efb099b739
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Shiboken did not have support for `nullptr_t` so the
converter was failing when encountering a `nullptr`.
A test case is included.
Fixes: PYSIDE-854
Change-Id: If5aad245e7074ed791bfc7a42a4c6a56de441d5b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This way it is easier to publish the docs online as well
as package it for offline use. Besides, updated the links
to the sphinx projects so that the linking between them works.
Change-Id: Id7494d5bc8adf95bfaaf25dedb58f3b07ac6dca4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This patch again contains a complete overhaul of the signature
module. The code was re-implemented to properly support nested
classes. Also, the code was reduced by AutoDecRef and by
adopting a concise C++ style.
Note.. We will add a shiboken signature test and complete
mapping.py after the split into three projects is done. The split
changes a lot and is needed right now!
Signatures were quite complete for PySide, but the support for Shiboken
was under-developed.
Since we are planning to generally enhance error messages by using
the Signature module, we should be able to rely on them to always
produce a signature. Therefore, a general overhaul was needed
to resolve all cornes cases for Python 2 and 3.
Nested classes are supported, as well as plain module functions.
The usage of the typing module might improve over time, but the
Signature implementation is now considered complete.
The loader will respect now the path settings which might not be
the package dir but the build dir. This is more consistens with COIN
testing.
Task-number: PYSIDE-795
Change-Id: I246449d4df895dadf2bcb4d997eaa13d78463d9b
Reviewed-by: Simo Fält <simo.falt@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
unsigned long(0) does not work, use static_cast<unsigned long>(0).
Fixes: PYSIDE-846
Change-Id: If41baebdf0b1228b658408e4c300872d17143e6f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A new version is now in use, causing:
qtattributionsscannertorst.py:122:
".../sources/shiboken2/libshiboken/bufferprocs27.h" is not a file
Change-Id: I14d9b9d8902ff7b3595b0e5b88d957a3847ecdae
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We have a proper `void*` treatment, so the extra
function does not seems to be necessary.
The injected code used for the interalPointer method was
also removed since is better to leave on shiboken hands
the conversion between void* and python types.
A couple of test were adapted since wrongly used ModelIndex
with Python objects.
Change-Id: I082637c7d1dd1bb0f50a3c453513e5d722f4b783
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Included basic tutorials related to Widgets, QML and UI files.
Task-number: PYSIDE-841
Change-Id: Ia338f8cf1a64e4f09617fb3ac5a898d28e527dbd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\| | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I5a8f41a2236601b7c5466586dd1cfc92c1afc391
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When running test in debug mode on Windows, failures occurred:
File "sources/pyside2/tests/QtCore/qfileread_test.py", line 41, in readData
return super(FileChild2, self).readData(maxlen)
UnicodeDecodeError 'utf-8' codec can't decode byte 0xcd in position 21: invalid continuation byte
File "C:/dev/pyside/pyside-setup511d/sources/pyside2/tests/QtCore/qfile_test.py", line 57, in testBasic
self.assertFalse(obj.getChar()[0])
UnicodeDecodeError 'utf-8' codec can't decode byte 0xcc in position 0: unexpected end of data
This is caused by missing initializers and terminating \0 characters in the
QByteArrays introduced by ca806b438e8a27dc4562ac806d189765e93e09e5, unearthed
by MSVC helpfully filling unitinialized data with random values.
Fix by using a QByteArray of size n + 1 filled with 0.
Initialize the character variable in the fix_char* template.
Task-number: PYSIDE-40
Change-Id: Ia604841a89f1b1b9564c16d2f23cd9f7c20f5628
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Once the qtbase commit
(22c1a46a03bc3347afc0e7462e19558283d0e1b7) gets integrated into
the qt/qt5 repo for dev branch, we can revert the terrible
workaround fix, because it won't be needed anymore.
This reverts commit 5cd52cda24bf70bf99f4deec037039df0ab928f5.
Task-number: PYSIDE-724
Change-Id: I627c7ec945b864a1c16ba6cd7288807591f70140
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Remove the function _NamespaceModelItem::uniqueNamespaces()
which created a QSet of_NamespaceModelItem *. Hashing by pointer
values does not have any effect.
Change-Id: I723024f0004aacecf4f06a1baa10678848d4a56b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add missing conversion of the long *result variable.
Amends f4a6d74852b0ba6711195a9c3fc9356e677a3409.
Task-number: PYSIDE-790
Change-Id: I2db9ffd80b569f68b714b21e2adaa3e34949af83
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I4fb74ab92e03dd13e054227deac2bd095c47bce0
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
refs/staging/5.12
|
| | |\| | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Change-Id: I3bb491686968e81382c135ab737da259d9796f52
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
When a type has nullptr as tp_dealloc, there apply different defaults.
Static types had object_dealloc as default, while new heaptypes
created with type_new have subtype_dealloc as default.
A problem was now that PyType_FromSpec also has
subtype_dealloc as default. But that is wrong, because a type that
was written with the static type approach is already written with
object_dealloc in mind and takes somehow care about further issues
with that type.
When we now convert this type and suddenly use subtype_dealloc
instead of object_dealloc, things get pretty wrong.
Finding that out was pretty hard and took quite long to understand.
The fix was then very easy and is the best proof:
Replacing our former (wrong) solution of supplying an
SbkDummyDealloc with a function object_dealloc works perfectly,
and the leakage completely vanished.
The documentation now is also corrected.
Task-number: PYSIDE-832
Change-Id: Ifc20c28172eb5663cd5e60dac52e0a43acfb626c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Task-number: PYSIDE-838
Change-Id: I88a8c90b53757f05668782bc407e8529f6fbb3c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
QtCharts and QtDataVisualization were not
properly imported to compare them with PyQt.
Task-number: PYSIDE-833
Change-Id: Ia9b8ee29d8f0b4f2d009327099b9f50ce0791b78
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add QAbstractNativeEventFilter. Re-add the native event filter
functions on QWindow and QWidget, modified to return a tuple
bool/long, using a modification from PySide.
Task-number: PYSIDE-790
Change-Id: I86fef1a0c168e69fb3391cd882ea05190985384d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: PYSIDE-487
Change-Id: Ibd984747f091ccb355881f869ed327a9dbbf5dbb
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: PYSIDE-487
Change-Id: I62c7b117d662f3111b47aa9b840b39f67ef71cac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Previously whenever a typesystem XML file changed, this resulted in a
full rebuild of all cpp files generated for that particular module.
This change shifts the rules of building in such a way, that files
are rebuilt only if their content has changed.
XML modifications should generally not cause full
rebuilds anymore, unless the change is in a global header.
This is achieved in the following way, assuming a binding library
"foo" added by add_library(foo ...):
1) CMake calls shiboken via add_custom_command.
2) The OUTPUT file for the command is the generated
mjb_rejected_classes.log file, which serves as a timestamp
for when shiboken was last run.
3) All the generated cpp files are marked as "Generated" via the
add_custom_command BYPRODUCTS option. This allows the files
to have an older timestamp than that of an XML file, thus not
forcing constant shiboken re-execution.
4) A new custom target foo_generator is added via add_custom_target.
5) This target has a dependency on the mjb_rejected_classes.log file,
and the target itself is added as a dependency to the "foo" target.
6) Whenever "foo" is built, it will first try to build "foo_generator"
which will force the shiboken custom command to be run, which will
generate the cpp files and mjb_rejected_classes.txt file.
The BYPRODUCT cpp files can then be used as sources in the
"foo" target.
7) If a user modifies the XML file listed in the add_custom_command
DEPENDS option, this will re-trigger shiboken execution, which
will create a new mjb_rejected_classes.log file, which means that
the "foo" target might be rebuilt if, and only if, any of the cpp
file timestamps are new. Otherwise "foo" doesn't need to be
rebuilt.
Change-Id: I9a3844a2fa775106288acc01cb4570a903e16991
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Due to some unknown determinism, sometimes the type indices written
to the generated module header file have a slightly different order,
which means that many cpp files need to be rebuilt for no reason
(semantically the content of the header file does not change).
Make sure to sort the class list by type indices, to try and make
the generated header file as deterministic as possible.
This is a pre-requisite for improved incremental builds.
Change-Id: Ie6a334453cdbfbb601fbac4b6be9291a746650f4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is a change in preparation for improved incremental builds,
where modifying one typesystem XML file will not force rebuilding
all generated cpp files.
The previous logic was incorrect, file timestamps should not
be updated if the generated files are unchanged, instead the build
rules need to be adapted to prevent unnecessary rebuilds.
Change-Id: Ia47f8ff1970e974d0e617b6891ab58666da3b1ff
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|