aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts
Commit message (Collapse)AuthorAgeFilesLines
* build scripts: Fix warning about import orderFriedemann Kleint2020-11-092-10/+8
| | | | | | | | | | | Import Setuptools before Distutils, fixing: distutils_patch.py:25: UserWarning: Distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first. Change-Id: Ibbc1a5cd1d348f6f44f7e80a3ba7e9a7341fae8e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit b70183a78ed7a478ae9f2af19bd84535a8e69320) Reviewed-by: Christian Tismer <tismer@stackless.com>
* Remove wheel.pep425tags importsCristian Maureira-Fredes2020-10-261-18/+19
| | | | | | | | | | | | The import was removed starting from v0.35 in favor of the packaging module and other functions that are not placed in 'bdist_wheel'. Fixes: PYSIDE-1385 Change-Id: I97f5dbf9867f779a897d9041489831255ea54b67 Reviewed-by: Simo Fält <simo.falt@qt.io> (cherry picked from commit 56c37b3b95968b24bfb737698c0a4ca94d0b8802) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* build_rst_docs: add DistUtilsCommandMixin to the commandCristian Maureira-Fredes2020-10-151-3/+4
| | | | | | Task-number: PYSIDE-807 Change-Id: Ib2369887bafc61971ffa500427ec85c1cd73c2b2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix wheel_override error when wheel not availableCristian Maureira-Fredes2020-10-141-8/+9
| | | | | | | | | | | | | Since the try failed, there was no option to import DistUtilsCommandMixin and then a: NameError: name 'DistUtilsCommandMixin' is not defined and AttributeError: type object 'type' has no attribute 'user_options' was raised. Task-number: PYSIDE-807 Change-Id: If5aa37ce9928a5c029b21decc24bd2bccf9b4dc4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* setup.py: Show options in command helpFriedemann Kleint2020-10-144-107/+216
| | | | | | | | | | | | Move some options to a command mixin. This cannot be done for all options since some determine the package name and need to be known at before instantiating the commands. Print an additional help text listing them. Fixes: PYSIDE-807 Change-Id: I43adb09db16f74af037bfb754cad2c0f5cfe43be Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* setup.py: Refactor PysideBuild::run()Friedemann Kleint2020-10-071-149/+153
| | | | | | | | | | | | The function produces a warning about a too-high cyclomatic complexity. Factor out functions to retrieve the make program and the Python library. Streamline the code to avoid repetitive find_executable() invocations and unindent the multi-arch code. Change-Id: I7aac9bc1324e57878e97d81b3e0424f055f7f2b9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* setup.py: Fix some flake8 warningsFriedemann Kleint2020-10-076-22/+21
| | | | | | | Fix spaces around operators, missing lines, import order. Change-Id: I05ecafec849578fed6018654fcefaa008b6801e8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* setup.py: Remove constructor parameters depending on options from ↵Friedemann Kleint2020-10-064-133/+179
| | | | | | | | | | | | | PysideBuildWheel Constructor parameters depending on option values create a problem for introducing per-command option parsing. To fix this, split utility functions used by the commands in main.py and PysideBuildWheel into a separate wheel_utils.py Task-number: PYSIDE-807 Change-Id: Idabd3ba03726d2284e80234fc8485b70e6eb20ca Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* setup.py: Do not display help multiple timesFriedemann Kleint2020-10-061-1/+5
| | | | | | | | Run only the pyside build when help is requested. Task-number: PYSIDE-807 Change-Id: I0aa5bf2db0a6a7e6e32a66357efd200af70dd653 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* setup.py: Make it possible to access QtInfo from several sourcesFriedemann Kleint2020-10-062-200/+212
| | | | | | | | | | - Turn it into a singleton. - Move the qtchooser resolving code into QtInfo. - Delay-initialize the dictionary. Task-number: PYSIDE-807 Change-Id: I3be2f3d0e0e9bc8aa61e1ec90ea37f7078c7f0bb Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* setup.py: Fix check for limited APIFriedemann Kleint2020-10-062-2/+3
| | | | | | | | Check for "yes"/"no", consistently. Task-number: PYSIDE-807 Change-Id: Id9f2ba125acb9ea8e811fd6cb5994bbb070605de Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add command to build rst documentation onlyCristian Maureira-Fredes2020-09-291-1/+83
| | | | | | | | | | | | | | | | | | | | | | | | | Since the process to get the documentation built is to build the whole project, that is too time consuming. Additionally, using qdoc on the Qt API takes a lot of time. This patch introduces the setup.py option called 'build_rst_docs' which skip the general build, and only generates HTML documentation based on all the .rst files we have for shiboken and pyside. To use it: python setup.py build_rst_docs The build will throw warnings related missing directories, and files, which are generated on the 'qdoc' process, but since they are skipped they are not present. Some missing references warnings are skipped due to also come from the qdoc-based step. Task-number: PYSIDE-1106 Fixes: PYSIDE-1390 Change-Id: I4118fd3b64e217717df6cae093138f6951d37094 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Test with additional python versionSimo Fält2020-09-241-5/+15
| | | | | Change-Id: I17726f6bd02d36a7acc3ed99ca11796b780b837d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* qp5_tool: No longer default to 'python3' in virtualenvFriedemann Kleint2020-09-171-1/+3
| | | | | | | | | This causes problems on Windows where old python3 versions are shipped with Visual Studio and virtualenv does not create a python3.exe. Change-Id: I695fbcd7a007ff72bd4d79399c700bf93a8e4f94 Reviewed-by: Christian Tismer <tismer@stackless.com>
* One more fix for the missing win runtime libsSimo Fält2020-09-091-1/+5
| | | | | | | Change-Id: Ic430a687a6d7af7ba45df51a34c6fe7c56b3799d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 275aba0c773e649f15c89e34f15310cb8fd35c09) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* support Python 3.9Christian Tismer2020-08-192-2/+3
| | | | | | | | | | | This was merged with "WIP: Enable support for Python 3.9". There were minor problems, only. Thanks Cristian for adding cosmetic changes which should already have been applied in Python 3.8 or earlier. Change-Id: Id5e8696d9cfb7192243ad44c93e9f2cf347d6a7c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* qp5_tool.py: Fix 'clean' mode on WindowsFriedemann Kleint2020-07-161-2/+2
| | | | | | | | Use the relative path for git as git submodule foreach (as invoked by "clean") does not work with spaces in the path on Windows. Change-Id: Ia53e8ef9a48c88fb3159bf961da4798216422f3c Reviewed-by: Christian Tismer <tismer@stackless.com>
* qp5_tool.py: Fix reading config files with empty linesFriedemann Kleint2020-07-161-1/+2
| | | | | | | Move rstrip() below read check. Change-Id: I56333b813aaa8608296e8f8e3181bacf10d2f63f Reviewed-by: Christian Tismer <tismer@stackless.com>
* qp5_tool.py: Add an configuration key for the CMake generatorFriedemann Kleint2020-06-301-0/+6
| | | | | | | | | | | Add a key Generator (similar to the planned qt6_tool). Currently, only default (make) and Ninja are supported (pending the refactoring of the mkspec option of setup.py, which will become a qmake legacy). Task-number: PYSIDE-904 Change-Id: I75f87c59f8b6421dc5d2b8ae46d3107e2ac61614 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Update vcredist binaries for MSVC 2019Simo Fält2020-06-151-2/+2
| | | | | | | Fixes: PYSIDE-1323 Change-Id: If3a3d885f277044d64e174dd597974ad11a3425a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 80d07788fbf4cdce72041b1d22a66e5f981034a1)
* Add missing Win runtime dll into win wheelsSimo Fält2020-06-151-1/+2
| | | | | | | Fixes: PYSIDE-1323 Change-Id: I2856c5388b66eb02b18004b894cac8db6c4be10a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 0467ea1c3ddbf81fe4ab9a5c521e1d41ea22481f)
* Clean the build/install output a bitCristián Maureira-Fredes2020-06-083-19/+23
| | | | | | | | | | | | * Adding STATUS or WARNING to a couple of message() calls. * Replacing some print() by log.info() * Changing some '*' by '-' * Align configuration outputs to check paths easily * Adding big message to check when shiboken2/pyside2 is being built. * Including the cmake_minimum_required() function instead of an 'if'. Change-Id: Idb6c5797286d400192d083403063e2ae582e3fe6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Doc: Enable doc builds using the offline templateVenugopal Shivashankar2020-06-042-0/+9
| | | | | | | | | | A new command-line option, --doc-build-online, enables to choose online builds, otherwise offline docs are built by default. Change-Id: I34ef8a22ef3bd321bd972c4f2873e4321c9c336a Fixes: PYSIDE-1292 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Rename pre_release_version_type to release_version_typeSimo Fält2020-05-251-3/+5
| | | | | | | | Renaming pre_release_version_type to release_version_type to match its future usage to differentiate between wheel/package types. Change-Id: I70a2361f639a36b17f63b7f76d8c231a144bd825 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Support type checking with the mypy moduleChristian Tismer2020-04-172-2/+2
| | | | | | | | | | | | | | | According to PEP 561, there needs to exist a py.typed file. Also, the import of typing must be visible statically for mypy without importing PySide2. Testing.. run mypy pyside_1100.py and you will get the correct output without "any". Change-Id: I1d08447161630a8c7a64eda32ff8a431e994c6a7 Fixes: PYSIDE-1100 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Relax the build_scripts for macOS and designerChristian Tismer2020-04-061-2/+2
| | | | | | | | | | | The build_scripts are able to build Designer, optionally. For macOS, the optional status was forgotten. Instead of always patching the build_scripts, I finally fixed that buglet ;-) Change-Id: Iaa62e27253ec7035f0eebde17f0f2b8c4593be67 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* qp5_tool: Add option to run "build" onlyFriedemann Kleint2020-02-251-3/+6
| | | | | | | This is useful for mimicking the COIN test environment. Change-Id: I9a4567be171d940d6574c4135fabb2a8721bbd79 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* qp5_tool: Output command parameters with quotes for shell if requiredFriedemann Kleint2020-02-251-1/+4
| | | | | Change-Id: I682fb765fc3f69f0ca3c4d6717d415d0bff0517e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix qtinfo on macOS when XCode is newly installedChristian Tismer2020-02-201-1/+1
| | | | | | | | | | | | | | I happened to try out the "cling" C++ interpreter. That forced me to install XCode. I did not run XCode because cling worked immediately. But then, building PySide always failed with an error in qtinfo. This is a rare trap into which I fall every other year, so here is a fix that returns the intended error message. Change-Id: I9ec5774c49b8a186d6b4247150dac6b252e7cc64 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* qp5_tool: Add --avoid option for Incredibuild/LinuxFriedemann Kleint2020-02-191-0/+1
| | | | | | | Available as of version v0.96.74, it speeds up things considerably. Change-Id: I5d8312b2d59adcce0881d3485af966bebf69317b Reviewed-by: Christian Tismer <tismer@stackless.com>
* qp5_tool: Add test runFriedemann Kleint2020-02-191-2/+34
| | | | | | | Run the test redirected into a log file with time stamp. Change-Id: Id9a5047e0b6594760d0329f9a15450c688a585f8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken: Improve the libdir for windowsCristián Maureira-Fredes2020-02-181-1/+7
| | | | | | | | | | | | | | | | | | With virtualenv 20 we have the case where the first path in the PYTHON_LIBRARIES cmake variable was wrong: a_virtual_env/libs/python3.lib so the python code inside the helper didn't have a proper check if the file was valid or it was just a wrong construct. Additionally, the 'prefix' variable will contain the virtual environment directory location, which will not contain the 'libs' directory, because that's included in the system's installation path. To solve this, we use the 'INCLUDEPY' directory, which is correct as a base to create the real 'libs' one. Task-number: PYSIDE-1231 Change-Id: Ifca08d74c49cd57572836a087edb96c089266dc7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Polish qp5_tool.pyFriedemann Kleint2020-02-121-52/+166
| | | | | | | | | | | | | Fix coding style warnings and bring it up to par with the qt6_tool in the works: - Add edit config file option - Add dry run option. - Add support for Incredibuild - Log build time - Print help if no option is given Change-Id: Ia8ec5f0d4d9e9c127172fb22f3efea11ce1ab6ff Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* designer: patch rpath for unixCristián Maureira-Fredes2020-01-272-2/+20
| | | | | | | | | Designer is not statically compiled, so we need to add a RUNPATH to use the Qt libraries we ship with the wheel. Change-Id: I715fcd852b63da99104198be2a4587b042a1eab7 Fixes: PYSIDE-1165 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix machinery and pep425tags CI errorCristián Maureira-Fredes2020-01-271-2/+11
| | | | | | | | | | | | | | | Currently the Shiboken macro only handles AttributeError but when 'machinery' is not found inside 'importlib' that case also needs to be handle by the except clause. Adding ImportError will allow us to get access to the Python suffixes that we need to build. Additionally, some old versions of Python (2.7.14) require an "archive_root" parameter on the 'wheel.pep425tags.get_supported' function, which is not required in new versions (2.7.16, and 3+). Change-Id: Icc6e7d1e9384ea01eec9281586f7ca988e3eb649 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build_scripts: Fix resource warning in Windows debug buildsFriedemann Kleint2020-01-241-0/+1
| | | | | | | | | Close the pipe obtained by POpen, fixing: build_scripts\main.py:1185: ResourceWarning: unclosed file <_io.TextIOWrapper name=3 encoding='cp1252'> out = run_process_output(cmake_cmd) Change-Id: I5de0391003b40119758d93712d8178694e7fc14b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Update config.py to allow Python 3.8 in pipChristian Tismer2019-12-051-1/+1
| | | | | | | | | After Python 3.8 works with PySide, we can remove the restriction to Python 3.7 from "python_requires". Change-Id: I5be5364cda14c38aabc2bf579165efbb614969e0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Replace OPTION_* by a dictionaryCristián Maureira-Fredes2019-12-036-168/+168
| | | | | | | | | | | | Currently we are importing * from the options.py file, which is a problem for the linters to discover if we are properly using the options of the file. Having a dictionary provides also a better way of access these options, and it is more clean than having one variable per each option. Change-Id: Ie70bd88665357b85e2842c5df269857504ecccdf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Improve code style with flake8Cristián Maureira-Fredes2019-11-2512-402/+372
| | | | | | | | | | | | | | | | | - We agreed on 100 columns time ago, so I move around a few things, - Removing unused modules, - Fix white-spaces tabs without being multiple of 4, - Encourage the use of os.path.join when joining paths, - Using .format() for string formatting, - Remove white-spaces from default arguments, - Adjusting white-spaces before inline comments, - Adding extra newlines when expected, - Adjust spaces for lines under-indented for visual indent, - Remove white-spaces from parenthesis, and adding them for arithmetic operators. Change-Id: I9cb28cefd114d63580b584a063c452f90d3ca885 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Friedemann Kleint2019-11-251-2/+2
|\ | | | | | | Change-Id: I4659f593110a3c8d3fb23a3110efc1668fe0bf28
| * Add python_requires to the python setupCristián Maureira-Fredes2019-11-181-2/+2
| | | | | | | | | | | | | | | | | | This will avoid the current option of installing 5.13.x wheels on Python 3.8 environments. Task-number: PYSIDE-1140 Change-Id: Ia5e1e77dd2e48807e2f485177c2821fba5c1c76b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Add designer to the pyside toolsCristián Maureira-Fredes2019-10-313-1/+15
| | | | | | | | | | | | | | Fixes: PYSIDE-1001 Fixes: PYSIDE-1068 Change-Id: I0969cd234331789b300c8dc521ab6bbf84004d1d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | build scripts: Fix arguments handlingFriedemann Kleint2019-10-303-5/+5
| | | | | | | | | | | | | | Properly pass lists to regenerate_qt_resources(). Change-Id: I8cdd388b02a247dde915f14b21e3f3770a0c64a1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Replace pyside2 uic/rccCristián Maureira-Fredes2019-10-253-44/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the compatibility patches for uic and rcc, is now possible to generate Python code by using the option '-g python': uic -g python file.ui -o ui_file.py rcc -g python file.qrc -o rc_file.py This patch depends on many changes on the 'pyside2-tools' submodule, which mainly remove the old implementations of pyside2-uic and pyside2-rcc. The pyside_tool.py wrapper is now in charge of calling the uic and rcc binaries, with the -g python every time the pyside2-uic and pyside2-rcc binaries are called. To achieve this, we are now shipping the uic and rcc binaries from the Qt installation. Fixes: PYSIDE-1098 Change-Id: Ibdec0012f7ed671cd99424e1258c20649609c2da Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"Friedemann Kleint2019-10-241-1/+1
|\|
| * Fix wrong "only package" condition in build_scripts/main.pyAlexandru Croitor2019-10-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | build_extension was meant to not run either when --only-package is passed, or when the shiboken-generator is built as part of a top-level build. Fix the condition to represent that. Amends 43fe3494a9d902034896e3afa7b5158c77163be0 Change-Id: I9dbc8694b932c88227fcd3a987cd1413bc55c286 Reviewed-by: Simo Fält <simo.falt@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Add support for Python 3.8Cristián Maureira-Fredes2019-10-242-1/+2
|/ | | | | Change-Id: I824085342694ac1cddc4db91dc6b95abdcc78122 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Disable Android target from CISimo Fält2019-09-201-1/+1
| | | | | Change-Id: I4945620d3328cfd26a713306730beb64445136f4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Jukka Jokiniva2019-08-272-1/+2
|\ | | | | | | Change-Id: Id820dfc57338b9630b77448a697aa9da029ddadf
| * Add Proprietary License to be show in metadataSimo Fält2019-08-261-0/+1
| | | | | | | | | | | | | | | | | | | | Adding Proprietary License to METADATA to indicate possibility for commercial licencing. License will be shown in pypi.org with LGPL possibility. Change-Id: Ic389adc2a867b9ea1118574fdf627e78acb02ba2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>