aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | shiboken: Further refactor command line arguments and helpFriedemann Kleint2017-06-099-83/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the QMap of options returned by the generators by a vector of pairs to allow for specifying the order. This allows for better formatting -I/-F/-T in multiple lines. Add -h for help. Move the missing typelib file handling into main and print a help hint there. Change-Id: I5a95bd8d193be012aaa7ce3934945b25e21d3f79 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.6' into 5.9" into 5.9Friedemann Kleint2017-06-0910-31/+73
|\ \
| * | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-06-0910-31/+73
| |\| | | | | | | | | | Change-Id: I73f39966a2af7aa935e1890e29c9b71573aae97c
| | * utils: Handle SymlinksFriedemann Kleint2017-06-092-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Try to recreate the .so version symlinks correctly on Linux instead of copying the files. Task-number: PYSIDE-526 Change-Id: I3b015efe4f2f57abe418f171a8631d194ed08f65 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * Fix missing headers in PySide custom buildChristian Tismer2017-06-092-18/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PySide itself built fine after the additional includes were added for inheritance. But when a smaller project is built, suddenly header files are not found, because the inherited names are not expected by the deployment. Therefore, we do no longer add more includes, but insert recursive headers for the few relevant cases. So the includes become a little longer, but the names of the include files are those as before the enhanced inheritance. Task-number: PYSIDE-500 Change-Id: Iab456307a3c2365dfe1964dbe222b7d0efac7878 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * libshiboken: Fix/Silence some MSVC warningsFriedemann Kleint2017-06-096-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | autodecref.h(110): warning C4522: 'Shiboken::AutoDecRef': multiple assignment operators specified autodecref.h(78): warning C4800: 'PyObject *const ': forcing value to bool 'true' or 'false' (performance warning) conversions.h(282): warning C4800: 'long': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(625): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(654): warning C4800: 'SpecialCastFunction': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(1014): warning C4800: 'Shiboken::ParentInfo *': forcing value to bool 'true' or 'false' (performance warning) basewrapper.cpp(1044): warning C4800: 'void *': forcing value to bool 'true' or 'false' (performance warning) helper.cpp(56): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data shibokenbuffer.cpp(46): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) Change-Id: If1517fde8e7670f258a56f6d845a66ebb3d82141 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | | Port the suppression mechanism to use QRegularExpressionFriedemann Kleint2017-06-093-24/+54
|/ / | | | | | | | | Change-Id: I686308207c03de2216cd6a5143b2c66f3014a896 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | shiboken2: Refactor path argument handlingFriedemann Kleint2017-06-071-21/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, shiboken2 accepted path arguments of the format --option=path1;path2 using the native OS separator character. This poses a problem when writing cross-platform .pro files for applications. Refactor the code to allow for the options to occur multiple times on the command line and introduce short-hand options -I, -F, -T for includes, framework includes and type system paths to reduce command line length. Task-number: PYSIDE-526 Change-Id: Ice540cbffeb01841988a99fdeb84bb7ba969ed79 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | testrunner.py/Windows: Add Clang to the pathFriedemann Kleint2017-06-063-17/+32
| | | | | | | | | | | | | | | | | | | | | | It is required for shiboken's ApiExtractor tests. Move subroutine detectClang into utils.py for usage by testrunner.py/setup.py. Task-number: PYSIDE-431 Change-Id: I9f1984ea9fc9857ad3e7fddf621884fdc96ef52f Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-06-0236-6420/+53
|\| | | | | | | Change-Id: Ia6485d1b1caa93c4ecdd02b0544f19d197a43fb0
| * pysidetest_delegatecreateseditor_test: Add QtWidgets dependencyFriedemann Kleint2017-06-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | The test was failing since the method TestView::setItemDelegate(QAbstractItemDelegate *) was rejected due to QAbstractItemDelegate being unknown. Fix by adding the dependency to QtWidgets. Task-number: PYSIDE-431 Change-Id: I65c3690eccfdd55b310f45d65a2b0d8c32bedd36 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Remove README.md of PySide2/Shiboken2Friedemann Kleint2017-06-022-29/+0
| | | | | | | | | | | | | | | | They contain outdated links and are no longer required after the repository merge. Change-Id: I6867435bcd1bbe53308dea1d9d8c1ba1a0fc0584 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Fix .so filter for LinuxFriedemann Kleint2017-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | Previously, libpyside.so would not match .so.* and so, the libraries were not copied. Task-number: PYSIDE-526 Change-Id: I407db564beaee1f443dc7b816bc0bf798c8aacf1 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * Remove license files from previous submodulesFriedemann Kleint2017-06-0213-6338/+0
| | | | | | | | | | | | Task-number: PYSIDE-431 Change-Id: I35594dbf7dc6430ab5d0a2d235303f2bb7bd3677 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * libpyside: Use Q_SLOTS instead of slotsFriedemann Kleint2017-06-022-2/+2
| | | | | | | | | | | | | | | | | | When mixing Python and C++, Qt needs to be used with 'CONFIG += no_keywords' to suppress the 'slots' macro definition, which clashes with a Python header. Task-number: PYSIDE-526 Change-Id: I4feeae2de21db712b4de6653e243d556623436a1 Reviewed-by: Christian Tismer <tismer@stackless.com>
| * Fix typos in licensesFriedemann Kleint2017-05-3016-48/+48
| | | | | | | | | | Change-Id: I781418f8747d51a0d329c0562e076600989b3768 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Update README.mdFriedemann Kleint2017-06-021-6/+4
| | | | | | | | | | | | | | | | | | LLVM_INSTALL_DIR is now preferred. Also, adding it to the path is no longer required on Windows. Change-Id: Ibc1a12042845563a2e776dc5cc03525206189a58 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Fix QtWebEngineWidgets to build with Qt 5.8/Qt 5.9Christian Tismer2017-05-291-2/+2
| | | | | | | | | | | | | | | | | | | | There is an old error in QtWebEngineWidgets which was never detected before we switched to the new parser. QWebEngineHistoryItem is an object-type, not a value-type. Change-Id: Id8ce323129985f4ab08cf3b81a15e3a9690649ad Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Fix TextToSpeech versionChristian Tismer2017-05-291-3/+3
| | | | | | | | | | | | | | | | The version must be since 5.8, not 5.9. Found because I build with homebrew Qt 5.8 Change-Id: I53b5235000ce6fb8dfea75224ca2a05daed826b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Add QtChartsFriedemann Kleint2017-05-297-0/+296
| | | | | | | | | | | | Task-number: PYSIDE-487 Change-Id: I742d0fe52da22a06ca04069b6e0094d1913cc187 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Remove AbstractMetaFunction::invalid()Friedemann Kleint2017-05-295-32/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change AbstractMetaBuilderPrivate::traverseFunction() to consistently return 0 if something does not fit. Previously, functions with half-parsed arguments with the invalid flag set were returned. This caused strange side effects since the flag was not checked in all places. The only relevant information is whether some constructors were rejected. In that case, no default constructors or default copy constructors should be generated. This is now determined by checking the code model function item; the attribute HasRejectConstructor is introduced for this. This fixes: - Make it possible to reject the QTextStreamManipulator constructor taking a function pointer without having a default constructor generated: typedef void (QTextStream::*QTSMFI)(int); QTextStreamManipulator(QTSMFI m, int a) Q_DECL_NOTHROW - Implement QtCharts whose class QAbstractSeries has a rejected constructor. Change-Id: I6310574ba677dac20699f257340d2c2a55674353 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Use information about Constructor/Destructor functions from ClangFriedemann Kleint2017-05-293-53/+82
| | | | | | | | | | | | | | Expand CodeModel::FunctionType accordingly. Change-Id: I2759f45e4c60f36d4583b1c475c4c2df1e00ace6 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-05-234-11/+155
|\| | | | | | | Change-Id: Iae075ebf8614dd016166bcb5f105f695e7dc3de2
| * setup.py/prepare_coin_sources.py: Adapt to repository mergeFriedemann Kleint2017-05-232-9/+7
| | | | | | | | | | | | | | | | Remove the former submodules pyside2/shiboken2 from the modules lists. Change-Id: I41de78f5519c24cce1e649eaf3b2f2d1cabcc9b0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| *-. Merge pyside2 and shiboken2 into super-moduleOswald Buddenhagen2017-05-222207-0/+251698
| |\ \
| | | * move everying into sources/shiboken2Oswald Buddenhagen2017-05-22653-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * Fix crash on exit with debug Python 3Alexandru Croitor2017-05-191-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Crash happens because of an use-after-free error. This is a bandaid fix transforming the crash into a memory leak. Proper fix will require more investigation and time. Task-number: PYSIDE-488 Change-Id: I56358573ca60d6f18fd85fbd7eb3eb0da8fbf163 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * | move everying into sources/pyside2Oswald Buddenhagen2017-05-221554-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | Fix build error when QML module is not presentAlexandru Croitor2017-05-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QML private API variable should be defined even when no QML module was found, because it is used for substitutions in signalmanager.cpp.in. Change-Id: I46dd1605d10b12836ea35441fccf6ef68a22925e Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * | Add QSharedPointer<QQuickItemGrabResult> to the type systemAlexandru Croitor2017-05-195-0/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add test to check that calling QQuickItem::grabToImage() works correctly. The QSharedPointer type is added in the QtQuick typesystem file and not in QtCore to minimize the surface of issues that might come up, as well as because that's the only reasonable use case of QSharedPointer in the public API so far. Task-number: PYSIDE-454 Change-Id: Ibb7775117ffb22ab91d2ac798ae13cc9e4856587 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | | remove pyside2 and shiboken2 submodulesOswald Buddenhagen2017-05-223-46/+0
| | | | | | | | | | | | | | | | to be replaced by a subtree merge.
| | | |
| \ \ \
*-. \ \ \ Merge pyside2 and shiboken2 into super-module (5.9 edition)Oswald Buddenhagen2017-05-222157-0/+236836
|\ \ \ \ \
| | * | | | move everying into sources/shiboken2 (5.9 edition)Oswald Buddenhagen2017-05-22599-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | Fix double inclusion of qsharedpointer_impl.h fileAlexandru Croitor2017-05-191-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a workaround to allow building QSharedPointer bindings with the clang parser. In the previous parser the Q_QDOC define was set, and thus the implementation header was never included. When clang is queried to return the file which implements QSharedPointer, it will return the innermost header file. Because the header doesn't have header guards, the build will fail with redefinition errors. Task-number: PYSIDE-454 Change-Id: I5628fe2bafe528e11076f344b18b463db90c5651 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | | | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-05-183-9/+28
| | |\ \ \ \ | | | | |_|/ | | | |/| | | | | | | | Change-Id: I87da005aa528af30856e077769463c3c7e1ca18b
| | | * | | Generate #error when a minimal constructor could not be foundFriedemann Kleint2017-05-103-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The occurred in 3 places, one of which generated #error and the others used qFatal(). Change it to always generate #error with a bit of context to make it possible to detect the source of of the problem. Change-Id: Icd93b1beec908b57fa72457d6ec1e16a15e5ff14 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * | | | Add rejection by function return type and argument typeFriedemann Kleint2017-05-185-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend TypeRejection accordingly. Task-number: PYSIDE-516 Change-Id: Ibf97f3c16498b26e63f4bde5b0ae21acc3dd0c44 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | | TypeRejection: Use QRegularExpressionFriedemann Kleint2017-05-185-63/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor TypeRejection to use one regular expression for the class name and one for the various strings to be matched depending on the match type enumeration instead of 4 fixed string fields. Task-number: PYSIDE-516 Change-Id: Ifb945e3be39fbedfd802c4d32de7de443cf53f49 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | | Improve rejection messagesFriedemann Kleint2017-05-181-23/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In AbstractMetaBuilderPrivate::traverseFunction(), store the unmodified signature with return type before resolving typedefs for the messages. Extend the error messages about parameters and output them to qWarning() and rejection logs consistently. So: Unmatched argument type - QOpenGLExtraFunctions::glIsSync(GLsync) -> GLboolean becomes: Unmatched argument type - GLboolean QOpenGLExtraFunctions::glIsSync(GLsync): unmatched type 'GLsync' in parameter #1 "sync" Task-number: PYSIDE-516 Change-Id: Ifd680af1cd6d403d9b73ba3e40d06abe274cf359 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | * | | | Improve Clang detectionFriedemann Kleint2017-05-181-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check LLVM_INSTALL_DIR, CLANG_INSTALL_DIR and llvm-config and make messages more verbose. Task-number: PYSIDE-323 Change-Id: Iaff24d7c80853f381d227ebdccbb3abc4497a199 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | * | | | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-05-092-2/+37
| | |\| | | | | | | | | | | | | | | | | | | | | Change-Id: I609232c2b63a01c83ca8e3abe4d6c3d191d397b2
| | | * | | Fix headergenerator to build under C++11Christian Tismer2017-05-092-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a long time, headergenerator.cpp did only generate destructors, when the following condition was set: if (!avoidProtectedHack() || !metaClass->hasPrivateDestructor()) { // generate destructor } The condition does not work for C++11. When trying to remove the protected hack, I remembered that I used an ugly CMake trick to make VS 2015 work. This hack provided exactly the missing destructors. I tried very hard to make this hack into a patch for Linux and macOS, too. Unfortunately, when built without the protected hack, Clang enforces a destructor declaration, but then the linker reports an unresolved symbol. I have found no way to circumvent this. Conclusion: Unless we find a way to make Clang work correctly, we have to leave the protected hack as-is on macOS. But then, the whole effort of hack removal makes no more sense. Fortunately, the ugly work-around on Windows is gone, now. So this change involves shiboken and PySide, and probably the one will not work without the other. Task-number: PYSIDE-504 Change-Id: I92b372c15fd2a4280a249de4c099eeb1f18fedd3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | | | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-05-052-3/+3
| | |\| | | | | | | | | | | | | | | | | | | | | Change-Id: Icb174588038f02582b395529bffc98f50e91e141
| | | * | | CMakeLists.txt: find python interpreter firstDavide Pesavento2017-05-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake documentation recommends ordering find_package(PythonInterp) before find_package(PythonLibs) when both are called. Change-Id: I582e1d2631f78bb0b9c864acf189ca5e50d976c5 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
| | | * | | Fix build on Windows due to unsupported string concatenation issueAlexandru Croitor2017-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ie8cdf451380a56bea4b23e3d08953f8c7690c95e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * | | | Merge "Merge remote-tracking branch 'origin/5.6' into 5.9" into 5.9Friedemann Kleint2017-04-283-15/+23
| | |\ \ \ \
| | | * | | | Merge remote-tracking branch 'origin/5.6' into 5.9Friedemann Kleint2017-04-283-15/+23
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I91104b0228146de235e1bdb879d016358da4c19a
| | | | * | | shiboken test/Photon: Properly define noexceptFriedemann Kleint2017-04-281-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Defining noexcept as empty leads to a compile error when including <map> of VS2015/U3. Introduce a macro PHOTON_NOEXCEPT and also enable it for VS2015. Amends change 6c44bbf45124973e8f1a8c35fb28f0537274a794 Task-number: PYSIDE-324 Change-Id: Ie3157f6e62c8e3fe443842513983582edf491d18 Reviewed-by: Christian Tismer <tismer@stackless.com>
| | | | * | | Fix Inheritance of PySide, Windows supportChristian Tismer2017-04-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes a logical error, only. The mentioned patch is relevant only when the “protected hack” is _not_ applied. Maybe this will change again, when I evict the protected hack, so feel free to use this change or ignore it. Task-number: PYSIDE-500 Task-number: PYSIDE-331 Change-Id: I58c2b211f71786e613e18ea99c62f0fac337ce14 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | | * | | Handle recursive typesystem includesFriedemann Kleint2017-04-261-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QtMultimedia, the QMediaPlayer::setVideoOutput() overloads require including QtMultimediaWidgets' typesystem to make QVideoWidget known. This caused an endless recursion including QtMultimedia's typesystem. Fix by - ensure modifiedTypesystemFilepath() always returns an absolute path even if the file exists so that it is always matched in m_parsedTypesystemFiles - Insert current file into m_parsedTypesystemFiles at the beginning of parseFile() to detect recursion early on. Task-number: PYSIDE-487 Change-Id: I7110c9f1bf144b82a14282e94b894bfb0522ba58 Reviewed-by: Christian Tismer <tismer@stackless.com>