aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add bindings for QVersionNumberFriedemann Kleint2017-09-054-0/+58
| | | | | | Task-number: PYSIDE-487 Change-Id: I0106d87418c757d14c2dd7dd9fd1ab9d0c66a449 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Windows: Do not consider gl.h a system include fileFriedemann Kleint2017-09-041-1/+19
| | | | | | | | Amends 10453490629859a01048d0b21688d6617279eeaf. Task-number: PYSIDE-516 Change-Id: Ie4bc2008669e4e34bedf0575de3ff75adbc2413e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken2: Make message about unmatched functions more verboseFriedemann Kleint2017-09-041-2/+23
| | | | | | | | List all member functions if a candidate cannot be found (spelling error or similar). Change-Id: I86ca1556078051d2fc1f78f2091f5176f2a65423 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Re-enable bindings for QUuidFriedemann Kleint2017-09-044-7/+49
| | | | | | | | | Remove comments, add test. The claimed cyclic dependency apparently disappeared when porting to Clang. Task-number: PYSIDE-487 Change-Id: I44556fb5de92d83bd9471a41a03db9f6eeff0a31 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* global.h.in: Remove include of gl.h and related workarounds for WindowsFriedemann Kleint2017-09-011-14/+0
| | | | | | | | | | The include causes clang parse errors due to redefinition of APIENTRY on Windows 32bit. It seems it is no longer required after the fixes to the Clang include handling. Task-number: PYSIDE-528 Change-Id: Ie182e0cac4e0310b31c45ee68e2148500a6e9e34 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Refactor ShibokenGenerator::initPrimitiveTypesCorrespondences()Friedemann Kleint2017-08-291-23/+21
| | | | | | | Introduce arrays for the types. Change-Id: Iccafc6a9c648dc32db0445ab1dd43f91bfd5c146 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Refactor TypeEntry::isCppPrimitive()Friedemann Kleint2017-08-291-13/+18
| | | | | | | | | Introduce a helper function returning a sorted string vector to avoid converting each type string to a QByteArray. Change-Id: If9036d6251f5cc8d83ae13c8b5c3f731a6738657 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Enable more OpenGL functions with arraysFriedemann Kleint2017-08-291-9/+289
| | | | | | | | | Add <array> modification for more functions. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I083256d776067a16d780581c291da7d62fc47e14 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* FunctionModification: Make it possible to specify a regular expressionFriedemann Kleint2017-08-296-14/+65
| | | | | | | | | It should make it easier to specify the <array> modifications for GL functions. Task-number: PYSIDE-516 Change-Id: Ieb2e540f61785d13ee46a196a18d03b311d308e1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* typesystem_core_common.xml: Define int64_t, uint64_t as primitive typesFriedemann Kleint2017-08-291-0/+2
| | | | | | | | | They are used for GLint64. Amends 4ec9cfa3c6b895c0cf50227c189cfa542de88b64. Task-number: PYSIDE-516 Change-Id: I0be5d1302629ea156fb3dde07dd810f5730b064e Reviewed-by: Christian Tismer <tismer@stackless.com>
* Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-08-287-33/+21
|\ | | | | | | Change-Id: I073b05f8b39c0af32aa57ce3589c1aac2d712213
| * Fix QtUiTools not to depend on Qt5Designer being presentJanus Troelsen2017-08-241-2/+2
| | | | | | | | | | | | Task-number: PYSIDE-552 Change-Id: Iff8dd7247bfec94be0cf4f5cbcfbfca1eb44d209 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * consistently name site-packages in Shiboken and PySideChristian Tismer2017-08-245-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Blacklist QtQml_qquickitem_grabToImage because it's flakyAlexandru Croitor2017-08-241-0/+2
| | | | | | | | | | Change-Id: If2c134595efbb1fab29e92c67afa1d58f3831df6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Streamline Qt5 detection on macOSAlexandru Croitor2017-08-242-25/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix the chain of issues regarding QSslConfigurationAlexandru Croitor2017-08-244-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | shiboken: Output argument index in warning about unsupported parameterFriedemann Kleint2017-08-241-7/+12
| | | | | | | | | | | | | | It makes it easier to generate modification tags by script. Change-Id: I3d256371974e05eee336eaac3541029078ea2cc5 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Prefix all warning messages by base prefix of typesystem fileFriedemann Kleint2017-08-233-1/+17
| | | | | | | | | | | | | | | | shiboken is run in parallel when building PySide2, so it is sometimes hard to tell where warnings come from. Change-Id: Iaccd91543e14e6e9c38ebfa2b0c285417f924d03 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Shiboken2: Suppress warning for parameters modified by <array>Friedemann Kleint2017-08-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a check to checkTypeViability(), suppressing the warnings like There's no user provided way (conversion rule, argument removal, custom code, etc) to handle the primitive argument type 'const unsigned int *' in function 'QOpenGLShaderProgram::setUniformValueArray(const char * name, const unsigned int * values, int count)'. when the type was modified to be an array. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: Id5fa4789024cc82533d15a61b893a3f60baa4bff Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Shiboken2: Add an index check for the <array> modificationFriedemann Kleint2017-08-221-1/+6
| | | | | | | | | | | | | | | | | | Amends change 1578d14d1693122d4bcacede0d77527d8e898629. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I50e5d0762f1b049a511c62f8aa8d08da4cb563d9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-08-226-0/+102
|\| | | | | | | Change-Id: Iddee2cf511ee0f0896a04a76e5b5b8bd44d1d6f1
| * Add commit info and build date to installed packageAlexandru Croitor2017-08-212-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Add QTimeZoneFriedemann Kleint2017-08-024-0/+52
| | | | | | | | | | | | Task-number: PYSIDE-487 Change-Id: I9a2c19c6b8415e3f608531b315a6841eb3de55f5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add numpy supportFriedemann Kleint2017-08-037-3/+434
| | | | | | | | | | | | | | | | | | Add simple array converters giving access to NumPy arrays. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I2446b0f1ef98eaf12df95e4bd0e03d73e0cd7126 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Add new <array> argument modification indicating array usageFriedemann Kleint2017-08-0312-11/+97
| | | | | | | | | | | | | | | | | | | | | | | | The modification can be used to indicate that for example int* is meant to be used as int[]. This is reflected in the NativePointerAsArrayPattern usage pattern of AbstractMetaType. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: Icaeb3cce4be9ce06caa2cab628d4e8fc1b684819 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | libshiboken: Add Array convertersFriedemann Kleint2017-08-0318-6/+685
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a SbkArrayConverter struct which provides a list of check functions that return a converter function for an array of matching size. Add simple array converters for arrays of C++ primitive types. Instances of the ArrayHandle<>, Array2Handle<> templates will be generated which may point to internal data or allocated arrays. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I157606891fad345ccd7af6d4a9d4dcb0c634b2f4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Shiboken: No longer change arrays[] to pointer typesFriedemann Kleint2017-08-036-41/+39
| | | | | | | | | | | | | | | | | | | | In AbstractMetaBuilder, no longer change array types like "int[]" to "int*". Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: Ia9e15ae3fca895bf179275eb31a94323d91f4941 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Shiboken: Improve Handling of array typesFriedemann Kleint2017-08-037-8/+76
| | | | | | | | | | | | | | | | | | | | | | Change the AbstractMetaType::signature() functions to work with the nested AbstractMetaType types instead of TypeEntry so that the correct array signatures appear in the signature of AbstractMetaFunction. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: I90aa11891c95ccdcbae81fb70db4bec0e62f5923 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-07-271-1/+16
|\| | | | | | | Change-Id: Id001f5c242e2a296c370f7a33f329d74fdfe5963
| * Stabilize QtWidgets bug_728.pyFriedemann Kleint2017-07-271-1/+16
| | | | | | | | | | | | | | | | | | | | Add a timer periodically checking for the dialog to appear and close it via reject() instead of using a hardcoded interval to quit the application, which can cause crashes. Task-number: PYSIDE-431 Change-Id: I35db1db5f6865d196f8565c7bd034de2162bf4ff Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Bump minimum required CMake version to 3.1Alexandru Croitor2017-07-273-5/+5
| | | | | | | | | | | | | | | | | | 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>
* | Blacklist QtWebEngineWidgets/pyside-474-qtwebengineviewFriedemann Kleint2017-07-271-0/+4
| | | | | | | | | | | | | | | | | | Since the Clang parser does not define Q_QDOC, the function is rejected due to the callback parameter. Task-number: PYSIDE-474 Change-Id: I932da6ceb31f3e197c121de10885293656247324 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-07-262-7/+13
|\| | | | | | | Change-Id: I678f69b4f9e66d9be5aebeb222d9cf5137e30998
| * Don't cancel build if python sphinx package is not installedAlexandru Croitor2017-07-252-7/+13
| | | | | | | | | | | | | | | | | | | | 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>
* | Force usage of C++11 for shibokenAlexandru Croitor2017-07-261-0/+4
| | | | | | | | | | | | | | | | | | | | Previously we requested C++11 support from the compiler, but if the compiler does not support the standard, CMake would silently fall back to using C++08. Force usage of C++11, and cancel the build if the standard is not supported. Change-Id: I963a3f3d0b7dffb85a822c7aeb5f6979c0bbc189 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Update submodules for 5.9Friedemann Kleint2017-07-253-0/+0
| | | | | | | | | | | | Change-Id: I9e7c039d8fb75ecabb28bc2537a14bcfe88178f8 Reviewed-by: Simo Fält <simo.falt@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-07-241-0/+2
|\| | | | | | | Change-Id: Id0ca90ea0b944119f4e409a6b5d237e9b151ea76
| * Set submodules to point to same branch as supermoduleSimo Fält2017-07-241-0/+2
| | | | | | | | | | | | Change-Id: Iddba1b5fb64b8cb2b9700c06de000948d4ba491a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Fix building on openSuSE and Ubuntu 16.04 CI machinesAlexandru Croitor2017-07-244-2/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously all the GCC header paths were explicitly passed to libclang, which caused redefinition errors of builtin functions or intrisics (like __rdtsc). Instead of passing the include paths explicitly, we rely on libclang itself recognizing that there are GCC paths in the default search locations. Also we need to pass the libclang builtin headers location, because it is not able to find them by itself. Usually the search location for these headers is to get the executable path location (aka the clang++ binary) and navigate to ../lib/clang/VERSION/include relative to that binary. But because the shared library is used instead of the binary, we need to explicitly pass that header location via the -isystem flag. Task-number: PYSIDE-513 Change-Id: I7c1127d85c0cea4c063c5c2a3548a1eef5eadaf3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-07-213-15/+32
|\| | | | | | | Change-Id: Iae6c05c5fe046f557da03d102a906ecd2b6f6ec9
| * Blacklist smart::smart_pointer on Windows to pass CIAlexandru Croitor2017-07-201-0/+2
| | | | | | | | | | Change-Id: I7cbbb50dab06396059cb15afdd679abeb7177624 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Ignore license checker with pyside-setupSimo Fält2017-07-201-0/+3
| | | | | | | | | | | | | | | | This change is for 5.6 branch only and should not be merged to dev nor to 5.9. Change-Id: I951255a2515c3999fe0314678cc621744367d3f0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * audio_test.py: Use QGuiApplicationFriedemann Kleint2017-07-201-1/+2
| | | | | | | | | | | | | | | | On Windows, the WASAPI audio plugin is used, which requires CoInitialize() and hence QGuiApplication. Change-Id: Iad045224b6153a08234ff69e69eb8d1986654b43 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| * helper: Add UsesQGuiApplicationFriedemann Kleint2017-07-201-14/+25
| | | | | | | | | | | | | | Add helper for testing with QGuiApplication. Change-Id: Ib56b0b118a5fe8e01c822c859419784921418913 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Blacklist qqmlnetwork for Windows/Python 2Friedemann Kleint2017-07-201-0/+3
| | | | | | | | | | | | | | | | The test crashes in COIN. Task-number: PYSIDE-431 Change-Id: Ibd65c722212b21d0a6993152711d316fb02a2234 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-07-1420-201/+220
|\| | | | | | | Change-Id: I1dd2958b252b82e8699e8d2212afdce0086a16d2
| * Fix Windows module extensions and tests to work with --debug buildAlexandru Croitor2017-07-127-69/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Improve suffix names for shared libraries and cmake config filesAlexandru Croitor2017-07-1218-177/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Clang: Fix build with MSVC2017/Clang 4.1Friedemann Kleint2017-07-141-0/+6
| | | | | | | | | | | | | | | | | | | | - Remove option -fPIC for Windows, fixing error: unsupported option '-fPIC' for target 'x86_64-pc-windows-msvc'" - Raise language level to prevent constexpr errors in MSVC libraries Task-number: QTBUG-57086 Change-Id: Ic5bd84a8ce37c9f93d70d983257c98431aa18efe Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | AbstractMetaType: Join the signature functionsFriedemann Kleint2017-07-112-51/+23
| | | | | | | | | | | | | | | | | | | | Introduce a common helper function to format the signature for minimalSignature() / cppSignature() which differ only by whitespace. Task-number: PYSIDE-354 Task-number: PYSIDE-516 Change-Id: Ife6be7001618d73a7a2bc15e91bff4ae42192a45 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>