| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Task-number: PYSIDE-487
Change-Id: Ib8eb4a77f04ddbbe2c4b164b95f49e2f53bf44d9
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes users might have stale cmake files installed into the same
location due to building multiple Qt versions (e.g. 5.9.3 and 5.9.5),
and find_package might bail out trying to use the older version.
Make sure to print which cmake dir is used for each module, if
the dir is available.
Change-Id: I376ef95c682196c7f79d3c0e604d8225d1d2ff30
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@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>
|
|
|
|
|
|
|
|
| |
2.6 -> 2.7
Task-number: PYSIDE-653
Change-Id: Id62717f12e17c50732c796d3d84686fd47597ab0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Removing WebKit support by default.
Change-Id: I8cbf94891dc29f940926167414de7bdd35478732
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-487
Change-Id: Ie44d8472beb3f1a5ab75caafd1f58b512b53ccb1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
| |
Task-number: PYSIDE-487
Change-Id: Id60f3f6e70b4fbb8e4316b994cdd557ff9be7b3b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I8e1127e082abe5978a94aa8a080dfb1d8bbd5952
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
| |
Shiboken uses C++11 constructs like qAsConst, which necessitates
the usage of a Qt version >= 5.7. Instead of showing weird compilation
errors when building against Qt 5.6, print a nice error message.
Change-Id: Iea4bd41dbe1d7d05e9b28bfa6654f68c6633cd74
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\
| |
| |
| | |
Change-Id: I452d3a0a04e282b678879132ca1b3a272910ef04
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change is inspired by / follows PEP 440 for handling version
numbers and also takes into account the Qt versioning scheme.
PySide2 as package name will stay as-is (not renamed to PySide5).
Release versions would have the following pattern:
PySide2 5.x.y (e.g. 5.6.3)
Package (wheel) name would also contain the bundled Qt version, e.g.:
PySide2-5.6.0-5.6.4-cp27-cp27m-macosx_10_7_intel.whl
Pre-release versions would look like:
PySide2 5.6.0a1, 5.6.0a2, 5.6.0b1, 5.6.0b2, 5.6.0rc1, etc.
Development (snapshot) versions would look like:
PySide2 5.6.0-dev123456789 (last part is timestamp of build time)
All of the examples above comply with the PEP 440 rules.
In the example above where the Qt version is specified as part of the
wheel package name ("5.6.4"), the Qt version is not part of the
package version itself, because it doesn't comply with PEP 440.
But it does comply with wheel package names (PEP 427), and by that
PEP's definitions, it will be the optional "build tag" part of the
file name, which is preceded by the actual package version, and
followed by the python version / abi tag.
Implementation:
This change defines two new python configuration files which will be
the authoritative source for the shiboken and PySide2 libraries, as
well as the final PySide2 package itself:
sources/shiboken/shiboken_version.py
sources/pyside2/pyside_version.py
The pyside_version.py file will be the source of the final package
version.
The shiboken and PySide2 version should be modified in sync, when
bumping the version of the package before a release.
The reason for having both files instead of 1, is to make life easier
for developers that might extract only shiboken from the repository.
If at some point shiboken and PySide2 CMake projects get merged into
one project, the duplicate version files would go away.
The version files are parsed by CMake to correctly name the shared
libraries (and SO versions), and they are also read by the setup.py
script, to generate correct package metadata and a correct package
(wheel) name.
This change also removes the broken dist targets from PySide2's and
shiboken's CMakelists files, which depended on some version suffix
which was never set in setup.py.
PEP440: https://www.python.org/dev/peps/pep-0440/
PEP427: https://www.python.org/dev/peps/pep-0427/
Change-Id: I3226460b1adf2555c8711fa2ba47c223b957cb44
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds a new setup.py option called --sanitize-address
which will build all executables and shared libraries with address
sanitizer enabled. The builds will only succeed on Linux and macOS
machines that have new enough gcc / clang versions, so it is a
"use at your own risk" build configuration.
This change was necessitated by the random crashes that are sometimes
observed on the CI machines, and due to valgrind not working properly
on new macOS versions, using AddressSanitizer is the next best thing.
Note that when running tests with address sanitizer builds, you
might need to export a LD_PRELOAD / DYLD_INSERT_LIBRARIES environment
variable pointing to the address sanitizer runtime library path, which
will be provided by the crashed application.
Change-Id: I93014002e5c5e94bcc808ba2fb830d60724cfb69
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change qt3d/352dacc0040f77345ab2f6e9019ff68ba2ed354e has made
it up to the dev branch and the qt5.git integration succeeded,
so, Qt 3D can be re-enabled.
This reverts commit 52ac602d7b25dc31e681dcddc0b6dc9452fa4f59.
Task-number: PYSIDE-487
Change-Id: I4b95a7050f03786a08e4fb14c1bb332ca0281db4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I5d1a4734e8f44785898ba62beaa0bdd2004fca22
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes sure to resolve symlinks and copy only one file for
every dynamic shared library used (vs 3 before -> 2 symlinks + 1
actual library). This avoids duplicate files, as well as saves space
when creating wheel (e.g. no 3 copies of standalone WebEngine
library).
This filtering happens copying from CMake install dir into
pyside_package_dir (the symlinks are still present in the CMake
dir, but that shouldn't harm anybody, and might be useful for
users of shiboken only for example).
Task-number: PYSIDE-495
Change-Id: I0fe454e16c6b254a8682aa7b1c702ec01a3064f0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To be reverted once Qt3D/352dacc0040f77345ab2f6e9019ff68ba2ed354e
reaches the dev branch.
Task-number: PYSIDE-487
Change-Id: Ia17fb2ade605ba0d90c02511ffada58085178f45
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Amends 8d0ce19ca6cef467e67a49cb720fa5ed61aaca35
Task-number: PYSIDE-596
Change-Id: I4acd653d0772ddee85a06f41b5273018c3861651
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-487
Change-Id: I17100eda57fbe5015b6c8ff531a3c62b22e8de95
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If modules are installed on the system but not in
the local Qt installation, cmake will find them
and try to build, but this will lead to errors.
Comparing the QT_INCLUDE_DIR and the path where
the package was found, we can filter the modules
that were found on a different directory.
Change-Id: I463172b7081c191fb303387f98a495dd675e0486
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-487
Change-Id: I5ba8e54f7e496e960fc6017b51eb4f22eb9f54b6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Collect the list of essential and optional modules in list variables
and concatenate them to a list variable MODULES unless its value was
passed in on the command line with -D.
Remove the additional parameter indicating the module type to
COLLECT_MODULE_IF_FOUND() and let it determine that by checking
the essentials list instead.
Add a command line option --module-subset to setup.py which can be used
like "--module-subset=QtCore,QtGui,QtWidgets,QtTest" to specify the modules
to be built.
Change-Id: Ibb0fa16a8d9b0d7aeeaf8a8cfcbd50cb910ecc97
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: Ib0f638130d21a5619f239a9fb8beb7d92ad8d0e8
|
| |
| |
| |
| |
| | |
Change-Id: I38e8c16c0602b5dbf71dbe3a872630104fabfdb0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Create a per-module header including pyside2_global.h and the module
header only instead of passing a global header including
all Qt modules. This reduces the amount of code shiboken2
has to parse and minimizes warnings.
Change-Id: If3ab8fdf6cabe17b4add65f1e4a0f2e1464ab164
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-487
Change-Id: I7e4e8b617b95ec4008dc0fc4bea9974871425b2d
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I073b05f8b39c0af32aa57ce3589c1aac2d712213
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-552
Change-Id: Iff8dd7247bfec94be0cf4f5cbcfbfca1eb44d209
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The variable used for the python site-packages is inconsistent.
Instead of "SITE_PACKAGE", we use "PYTHON_SITE_PACKAGES"
everywhere.
Task-number: PYSIDE-563
Change-Id: I4d2d49f20f5a0a13439bc7b8c79ab318cd831cb9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Julien Schueller <schueller@phimeca.com>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This consists of a few things:
- Remove the detection and usage of ALTERNATIVE_QT_INCLUDE_DIR in
setup.py, because CMake takes care of finding the correct Qt
include headers.
- Add detection of framework / non-framework includes in the CMake
rules, instead of in the setup.py script.
- Don't pass QT_QMAKE_EXECUTABLE from setup.py to CMake, because
it is not being used. It was previously used for detecting Qt4
via the CMake FindQt4.cmake file. Now it is done by
find_package() which detects qmake from the environment.
- Get rid of the old "/Library/Frameworks" QT_INCLUDE_DIR, which
was where the official Qt 4.8.x packages installed Qt.
- Deprecate usage of ALTERNATIVE_QT_INCLUDE_DIR. Now it is only
used if CMake fails to detect the proper include headers of Qt5
(which should not happen).
Change-Id: I829b92bc0d40ae7eb418be27c735fc095e557820
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The failure was seen on Windows CI build, but was actually present on
all platforms if the QSsl checks were properly fixed, or if certain
CMake versions randomly decided to force C++11 usage.
The first issue was that QSsl wrappers were not generated on all
platforms because the C++11 standard was not forced for the
compilation tests done in the check_qt_class macro. This is a bug in
CMake, and the official way of fixing this is introduced in the yet
unreleased CMake 3.9 version.
The current fix is a workaround to explicitly pass the C++11 standard
switch to the try_compile invocation.
The next issue concerns handling of const char[] C++ types. There are
three such members in QSslConfiguration, which caused build failures
due to incorrectly generated code.
The solution is to treat "const char[]" types as "const char*" types,
which generates correct conversion code.
Tests were also added to check for such cases.
Change-Id: I874a3591dfc5f385338de7e3aff2a2c0dd2f5719
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Iddee2cf511ee0f0896a04a76e5b5b8bd44d1d6f1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds four new properties to the top-level PySide2 package:
__build_date__ - the date when the package was built in iso8601 format
__build_commit_date__ - the date of the top-level commit used to
build the package
__build_commit_hash__ - the SHA1 hash of the top-level commit
__build_commit_hash_described__ - the result of 'git describe commmit'
If git is not found on the system when the build is done, the last
three properties will not be present.
Note that all this info is computed at cmake configuration time, which
means that currently the properties will not be updated unless the
CMakeLists.txt file is touched, or a full reconfiguration is done.
If PySide2 is built using the setup.py script, the cmake
reconfiguration is always done.
Task-number: PYSIDE-557
Change-Id: I7db67fa34973e7976b21e3d1d36237577b3c6e32
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Shiboken uses C++11 features, and thus the CMAKE_CXX_STANDARD setting
needs to be set in the CMakeLists.txt file. The setting was introduced
in CMake version 3.1.0. Thus we bump the minimum required version.
Change-Id: Ic93dc76440930a19945bbd95461fc5859f2df0d0
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I678f69b4f9e66d9be5aebeb222d9cf5137e30998
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When building the docs target in PySide2, if the sphinx command is not
successfully found, the build stops with an error. Instead of
cancelling the build, just print a warning message just like it is
done in the shiboken project file.
Change-Id: I00ec7c306db5140f65973e622f4b1744cfd0d26e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|\|
| |
| |
| | |
Change-Id: I1dd2958b252b82e8699e8d2212afdce0086a16d2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the same imp.get_suffixes() mechanism as on Unix, to determine
the suffix part of module extension files.
This fixes debug builds to work on Windows.
Note that the whole build stack has to use the same configuration,
no mixing is allowed on Windows.
For release build you need: python.exe + setup.py without --debug
flag + release build of Qt5.
For debug build you need: python_d.exe + setup.py with --debug
flag + debug build of Qt5.
Change-Id: I6188c859b5757d11e87d6a9e32b9ba558f7f609e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change decouples the naming of general shared libraries, python
module extensions, and cmake configuration files. All of them are now
computed depending on the python version and python build
configuration, and can also be manually set via CMake variables.
The module extensions names now use the most detailed 'import' prefix,
which usually informs whether a debug or release python was used, or
the Python ABI flags (for Python >= 3.2).
When a debug Python interpreter is used for building PySide2, the
preprocessor define Py_Debug is now correctly propagated to PySide2
sources, which fixes previous crashes in debug builds.
This affects only Linux and macOS builds. There is a subsequent change
for making it work for Windows builds.
All in all, this now allows proper mixing of debug / release versions
of the Python interpreter with debug / release versions of PySide2 on
Linux and macOS.
Task-number: PYSIDE-508
Change-Id: I88a05c3ada0fb32c7c29bdb86d7a2c15acc963b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ieeaa4659753416315a619d0b683a3e5a4c8ed54e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Even though the final library name is libpyside, the actual target
that generates that file is called pyside2, as indicated by the
project(pyside2) command in the CMakeLists.txt file.
Also set the CMake policy of not ignoring incorrect dependencies.
Change-Id: Iba65dfd5fe7e34e7557c756a838017fe48f0ffd5
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
| |
in preparation for a subtree merge.
this should not be necessary to do in a separate commit, but git is a
tad stupid about following history correctly without it.
|
|
|
|
|
|
| |
Task-number: PYSIDE-487
Change-Id: I742d0fe52da22a06ca04069b6e0094d1913cc187
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
|
in preparation for a subtree merge.
this should not be necessary to do in a separate commit, but git is a
tad stupid about following history correctly without it.
|