| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
When the --openssl option is given, it should point to the openssl bin
directory, and not to the openssl.exe file itself.
Clarify this in the setup.py comments, and fix it in
coin_build_instructions.py.
Task-number: PYSIDE-660
Change-Id: I5b20a8c5a445c9f628c5abc258c43271c490e08c
Reviewed-by: Simo Fält <simo.falt@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>
|
|
|
|
|
| |
Change-Id: I1603aca6a2fda955c60e1c208db268e16341391e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Adding option to avoid building the documentation.
Change-Id: Ia5595e6686c6e7d31e94818c1efb28238a3fbfc7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an initial effort to clean up setup.py.
A new directory called build_scripts contains most of the logic for
building, leaving setup.py as an entry point.
The build_scripts directory contains the usual qtinfo, utils, and the
setup.py content has been split into main.py and platform specific
files under platforms subfolder.
The testrunner script has been modified to find the new location of
the utils module.
Task-number: PYSIDE-558
Change-Id: I3e041d5116ca5c3f96c789317303b65a7b1bbd70
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Including intersphinx extension allow us to link
the documentation from ApiExtractor to shiboken's.
ApiExtractor doc need to be build first, so we can
use the inventory that sphinx create, to link it
to shiboken's configuration.
All the harcoded references were replaced by dynamic
references. Also new labels were included to properly
cross reference topics.
Checked the spell on many rst files too.
Task-number: PYSIDE-363
Change-Id: I11a50b1f9eee48a00a3de6f957942eb0823eba47
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I0ea2b56778b2364a25f6999c2c18ef0c0a436583
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: Ibe5412edb6467594c5d2fd80545d9e1572a286cb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: Ia52958c02566447226a2aaeadd3f18e8d07af65f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: I8e1127e082abe5978a94aa8a080dfb1d8bbd5952
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were 2 issues:
1) QtWebEngineProcess could not be found on Windows because we have a
non-standard directory layout for the Qt files we copy over (there
is no bin directory), so we need to adjust the internal qt.conf
which is set in pyside.cpp
2) QtWebEngineProcess itself does not use the qt.conf from pyside.cpp,
because it is a separate executable, and thus we need to supply a
qt.conf specifically for it which is placed in the libexec folder.
Task-number: PYSIDE-626
Task-number: PYSIDE-631
Task-number: PYSIDE-642
Change-Id: I75d1b083fb5afe5dc31ba90174f42c7f559c5cd5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: Ic7e9768490c2aa84f26bbdee20c0635a82fbb641
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously only a warning was printed when clang could not be
found at setup.py time, resulting in a not very nice to parse
CMake error.
Make sure to fail early in setup.py if clang can not be found.
Also make sure to check that the clang source variable0 is not
"None", because passing "None" to run_process_output results
in an even more obscure Python error.
Change-Id: Ia94bf7da51996a3d9c74d5d9978b1bf9e26b03d5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Shortening lines to 80 columns.
Using `format` for all string formatting.
Change-Id: I60c0e748955008ecdb084cc9c9b0ea0d69ecee1b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
| |
Change-Id: Icecb81aff1a5a496f64c4ce3467afc72e34670b6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
| |
Exclude *.pdb files from the initial QML directory copy pass.
Change-Id: Id002ea7a3fb89987f069f584c1d2c54ee5c9178e
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
| |
Change-Id: I5a15cd63b95058cc4bc51d1701065889a0b11fe1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Task-number: PYSIDE-630
Change-Id: I1c707061b29d54bffc132909caaaa2e1b93b4d12
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
|
|
|
|
|
|
| |
Make sure to cd into setup.py folder.
Change-Id: Ic777b78028c3f2ecfa739a1c72df031b753083a1
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>
|
|
|
|
|
|
|
|
| |
Remove obsolete modules and superfluous logic.
Change-Id: I35d3a1c2feca20da1a255eb497257ff386138138
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
OPTION_VERSION and OPTION_LISTVERSIONS are deprecated and not used
anymore. Because the shiboken and pyside2 submodules were merged into
the pyside-setup supermodule, it is not correct to advertise available
versions based on remote branches.
If a user provides --version 5.9 to a 5.6 based setup.py, the build
would fail because setup.py wouldn't handle clang specific options.
And if a user provides a --version 5.6.5 to a 5.6 based setup.py,
we can't re-checkout the current active repo to re-run an updated
setup.py.
Thus the version selection mechanism is no longer relevant, and it will
be strictly tied to branch / tag.
In this respect, some of the version handling code is removed (because
it wouldn't work) and cleaned up.
Task-number: PYSIDE-431
Change-Id: I8357d743b5e3a638cea583a763bffc7766688030
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A lot of the packaging rules on Windows were outdated (Qt4 times).
This change does a couple of things to improve the process:
- Removes attempts of copying files matching Qt4 naming patterns
- Fixes filters to copy Qt dlls / pdbs for a single build
configuration (only debug dlls, or only release dlls depending on
which configuration was used when building PySide2). As a result
this reduces the total size of the package.
- Removes some comments that are outdated.
- Simplifies pdb copying logic.
- Adds a bit of whitespace between copying rules, for easier
navigation.
Change-Id: Icc06398f524f0249504750c718f97b61ffadf7df
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I548d89eb174d6dccb11efa9a10d21b53c775a541
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ib93a676d3578a91f175dd27b19cc48fcec3da63f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of asking the user to specify a minimum macOS deployment
target, setup.py will now query the value from qmake. A user can
still specify a custom value if they wish to do so.
This simplifies building on the CI, meaning there is no need to
hardcode the minimum deployment targets per branch.
Task-number: PYSIDE-603
Task-number: PYSIDE-606
Change-Id: I55c79dc643b5a2b59d0e65add132c581fb6fc7f4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the class would do a qmake process invocation for each
qmake -query property, after this change only a single invocation is
done to get all the query properties.
In addition another new invocation is done to find all mkspecs
variable, in order to find what kind of Qt build is being used:
a debug build, release build, or debug_and_release build.
This information is useful for packaging purposes, to know which files
should be copied or ignored.
Change-Id: If1ee4d19e0cc550e40dc568d1256030c8928c4e5
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When developing the heap types, I had to switch between debug and
release Python very often.
This patch allows for debug and release to co-exist without re-building
everything.
Additionally to the 'd' that gets appended to the build and install folders,
I used a 'p' for debug Python. Please feel free to change that as you like.
Change-Id: I022face5177bb69589809c8b235f09161d7fabd2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I5d1a4734e8f44785898ba62beaa0bdd2004fca22
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The option is not being used anymore since commit
c605d686f8cc4c8d370ec4d6260fca4b423f5526 , but we need to keep the
name around, so that setup.py doesn't error out in Coin because we
still pass that option.
Change-Id: I6f3433d1feacd8940aa48ba7e1113fe44a19ed9b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: PYSIDE-613
Change-Id: Iad411a46618d157b17f62b403591f348acd98a4e
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change amends e0a4372160d9b1ab1550589784cc456b93d28cab to allow
running setup.py install without getting exceptions from distutils.
Specifically the problem was that distutils did some additional checks
to make sure that plat_name == get_platform(), which will not be the
case because of the modified minimum deployment target.
The fix is to disable that check via a flag.
Change-Id: I066c0d4b7a6b27fceaf094c15bace7aba3c873bb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Python's distutils does not know about the minimum deployment target
of extensions, but only the version that was used when building
the Python interpreter itself. This value is propagated to the final
wheel name, and confuses users on which macOS version can the package
be used.
This patch computes the correct minimum deployment target, and forces
distutils (and wheel) to use it in the wheel name. Unfortunately it
requires a slightly dirty hack to circumvent a rigid check in
distutils itself.
Task-number: PYSIDE-612
Change-Id: I4380ee81840f9746b210579700cc5d69d3865810
Reviewed-by: Fredrik Averpil <fredrik@averpil.com>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The executable shiboken2 depends on libclang shared library being
found in the same directory as the executable.
Change-Id: Id59435bdf9df9a0f59ae897c414cf4ce312e6d62
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: If56adeea2f888d8bc34e202b697f735508896c84
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The rpath already present assumes the presence of some symlinks,
which are not present when copying over the Qt frameworks. Thus
the rpath needs adjustment.
Task-number: PYSIDE-605
Change-Id: I2fec6f53c8b617a6e755718e9174cadd2c485b5e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Even though a user might specify a
CMAKE_OSX_DEPLOYMENT_TARGET value, this will not automatically
set the regular MACOSX_DEPLOYMENT_TARGET environment variable,
which is picked up by the compiler to decide which standard
library to use. Because CMake is invoked via run_process ->
distutils.spawn(), spawn might decide to set its own value
of MACOSX_DEPLOYMENT_TARGET. That is undesirable.
Make sure to always specify the environment variable based on
given value, or current OS version.
(cherry picked from commit 6945dfb657a17fd66fd547e086c6fa9c76f06074)
Change-Id: I7f2dcc546c447d30fc1585cda220e3437cee9491
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When libicu libraries are present in the qt lib dir, this caused
trying to copy the files into the same folder where they are located
which will obviously fail.
Change-Id: Ibcabec2e44dac70e0c3c56e52ff0c8ac7749dbc0
Reviewed-by: Fredrik Averpil <fredrik@averpil.com>
Reviewed-by: Simo Fält <simo.falt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Even though a user might specify a
CMAKE_OSX_DEPLOYMENT_TARGET value, this will not automatically
set the regular MACOSX_DEPLOYMENT_TARGET environment variable,
which is picked up by the compiler to decide which standard
library to use. Because CMake is invoked via run_process ->
distutils.spawn(), spawn might decide to set its own value
of MACOSX_DEPLOYMENT_TARGET. That is undesirable.
Make sure to always specify the environment variable based on
given value, or current OS version.
Change-Id: I7f2dcc546c447d30fc1585cda220e3437cee9491
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I7ff12fd3c9ac969cbbbbe4d520d6f55b572b4de8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously there was a selection process to choose which libraries
to copy over in order to save time and space by not copying libraries
for which there are no bindings.
The logic was incomplete, and it would be a burden to always update
it.
Instead it seems that WebEngine is the predominant time consumer
when copying, so just simplify the logic to the following:
1) If WebEngine bindings were generated, copy WebEngine Qt libraries
2) If not, don't
3) Copy all other Qt libraries
Task-number: PYSIDE-604
Change-Id: Iaa832b5281c9c328f056fd5f9f42e251d55be75f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is necessary to create binaries that will run on systems older
than the system on which the binaries are build.
Task-number: PYSIDE-603
Change-Id: Iab1e155d63f0a0cde5de7bbf54ca2c906d8bf188
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Useful for debugging incorrect command line arguments (especially
for CI builds).
Change-Id: I2c291c1ede5c2e17cdd877f788e8b62876568367
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the --standalone build process would download and extract
an archive of ICU libraries, regardless of which ICU Qt was built
against.
The build process will now detect which ICU libraries QtCore depends
on and copy the libraries over to the destintation libdir.
Something similar might be needed in the future for macOS and Windows.
Change-Id: I0db0c8c628d3c095a8a4a1e361f8fafe18da2ec3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The value of 'dist_dir' always meant the 'pyside_package' directory,
yet it always added some confusion that it might be something else.
Thus remove all mentions of 'dist_dir' to make things more clear.
Change-Id: I5037d7a272e96d89424a333adb9c6dc4510d492a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change improves the output of which directories are used when a
build is done, as well as adds output for the correct final
installation destination (deduced automatically by setuptools, or
specified by --prefix option).
The change aims to reduce the usual confusion of figuring out which
files are written where.
Change-Id: I038be7bc657a7fa68e242c38076ffc4ba0548a0b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|