aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2016-10-18 18:10:08 +0200
committerChristian Tismer <tismer@stackless.com>2016-10-19 08:26:36 +0000
commitdc22a4e370cedc23371029543a919dec2b02a23d (patch)
treee16b0c82a92488cc5e9ad59f5b22484a85285d60
parentc3d0ece2e4fff0c540201e9d803010d7b9a32a83 (diff)
Build QtOpenGL support
I had to correct the inheritance - QtOpenGL is dependent of QtWidgets. QtGui is not sufficient. Enabled the QtOpenGL tests as well. We also prepared the transition from Qt5WebKit to Qt5WebEngine, because since Qt 5.6 Qt5WebKit is removed and the tests are never enabled. Task-number: PYSIDE-314 Task-number: PYSIDE-320 Change-Id: I9b6c0a92470b5a8c1cdaf2723f918bf4dcd715c0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--CMakeLists.txt34
-rw-r--r--PySide2/CMakeLists.txt11
-rw-r--r--PySide2/QtOpenGL/CMakeLists.txt11
-rw-r--r--PySide2/QtOpenGL/typesystem_opengl.xml4
-rw-r--r--PySide2/global.h.in2
-rw-r--r--tests/CMakeLists.txt21
-rw-r--r--tests/QtOpenGL/CMakeLists.txt4
-rw-r--r--tests/QtOpenGL/qglwidget_test.py1
8 files changed, 65 insertions, 23 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 577a3db10..52bbbe236 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -148,8 +148,37 @@ else()
CACHE STRING "PySide version [full]" FORCE)
endif()
-# some hack to mimick the qt4 version variables
find_package(Qt5Core)
+find_package(Qt5Concurrent) # new in Qt5, from QtCore
+find_package(Qt5Gui) # reduced, small version without widgets
+find_package(Qt5Widgets) # widgets in their separate module
+find_package(Qt5PrintSupport)
+find_package(Qt5Xml)
+find_package(Qt5XmlPatterns)
+find_package(Qt5Svg)
+find_package(Qt5Sql)
+find_package(Qt5Designer)
+find_package(Qt5UiTools)
+find_package(Qt5Test)
+find_package(Qt5Network)
+find_package(Qt5WebKit)
+find_package(Qt5WebKitWidgets)
+find_package(Qt5OpenGL)
+find_package(Qt5Script)
+find_package(Qt5ScriptTools)
+find_package(Qt5Help)
+find_package(Qt5Multimedia)
+find_package(Qt5Quick)
+find_package(Qt5Qml)
+find_package(Qt5QuickWidgets)
+find_package(Qt5WebChannel)
+find_package(Qt5WebEngine)
+find_package(Qt5WebEngineWidgets)
+find_package(Qt5WebSockets)
+
+if(UNIX AND NOT APPLE)
+ find_package(Qt5X11Extras) # new in Qt5, from QtGui
+endif()
string(REGEX MATCHALL "[0-9]+" qt_version_helper "${Qt5Core_VERSION_STRING}")
list(GET qt_version_helper 0 QT_VERSION_MAJOR)
@@ -245,10 +274,7 @@ else()
message(STATUS "PySide will be generated using the protected hack!")
endif()
-find_package(Qt5Qml)
add_subdirectory(libpyside)
-find_package(Qt5Designer)
-find_package(Qt5UiTools)
if(Qt5UiTools_FOUND AND Qt5Designer_FOUND)
add_subdirectory(plugins)
endif()
diff --git a/PySide2/CMakeLists.txt b/PySide2/CMakeLists.txt
index 38219467e..8bf5e53cd 100644
--- a/PySide2/CMakeLists.txt
+++ b/PySide2/CMakeLists.txt
@@ -161,6 +161,11 @@ else()
ENDIF()
HAS_QT_MODULE(Qt5Gui_FOUND QtGui)
HAS_QT_MODULE(Qt5Widgets_FOUND QtWidgets)
+# This module is deprecated and should be replaces by QtGui.
+# See http://doc.qt.io/qt-5/qtgui-index.html
+# Update: We support QtOpenGL now!
+# Note: The dependency is wrong: QtWidgets is needed!
+HAS_QT_MODULE(Qt5OpenGL_FOUND QtOpenGL)
HAS_QT_MODULE(Qt5PrintSupport_FOUND QtPrintSupport)
HAS_QT_MODULE(Qt5Svg_FOUND QtSvg)
HAS_QT_MODULE(Qt5Sql_FOUND QtSql)
@@ -175,12 +180,6 @@ if(NOT MSVC)
else()
set(DISABLE_QtWebKitWidgets 1 PARENT_SCOPE)
ENDIF()
-###
-# This module is deprecated! It should be replaces by QtGui.
-# We keep the source code until we are done with QtGui migration.
-# See http://doc.qt.io/qt-5/qtgui-index.html
-# HAS_QT_MODULE(Qt5OpenGL_FOUND QtOpenGL)
-###
if(Qt5Designer_FOUND)
HAS_QT_MODULE(Qt5UiTools_FOUND QtUiTools)
diff --git a/PySide2/QtOpenGL/CMakeLists.txt b/PySide2/QtOpenGL/CMakeLists.txt
index e74090866..ebc08946c 100644
--- a/PySide2/QtOpenGL/CMakeLists.txt
+++ b/PySide2/QtOpenGL/CMakeLists.txt
@@ -16,17 +16,19 @@ ${QtOpenGL_GEN_DIR}/qglwidget_wrapper.cpp
${QtOpenGL_GEN_DIR}/qtopengl_module_wrapper.cpp
)
-make_path(QtOpenGL_typesystem_path ${QtCore_SOURCE_DIR} ${QtGui_SOURCE_DIR}
- ${QtCore_BINARY_DIR} ${QtGui_BINARY_DIR}
- ${QtWebKit_SOURCE_DIR})
+make_path(QtOpenGL_typesystem_path ${QtCore_SOURCE_DIR} ${QtGui_SOURCE_DIR} ${QtWidgets_SOURCE_DIR}
+ ${QtCore_BINARY_DIR} ${QtGui_BINARY_DIR} ${QtWidgets_BINARY_DIR}
+ ${QtOpenGL_SOURCE_DIR})
set(QtOpenGL_include_dirs ${QtOpenGL_SOURCE_DIR}
${Qt5Core_INCLUDE_DIRS}
${Qt5Gui_INCLUDE_DIRS}
+ ${Qt5Widgets_INCLUDE_DIRS}
${Qt5OpenGL_INCLUDE_DIRS}
${SHIBOKEN_PYTHON_INCLUDE_DIR}
${SHIBOKEN_INCLUDE_DIR}
${libpyside_SOURCE_DIR}
+ ${QtWidgets_GEN_DIR}
${QtGui_GEN_DIR}
${QtCore_GEN_DIR}
${QtOpenGL_GEN_DIR}
@@ -35,8 +37,9 @@ set(QtOpenGL_libraries pyside2
${SHIBOKEN_PYTHON_LIBRARIES}
${Qt5Core_LIBRARIES}
${Qt5Gui_LIBRARIES}
+ ${Qt5Widgets_LIBRARIES}
${Qt5OpenGL_LIBRARIES})
-set(QtOpenGL_deps QtGui)
+set(QtOpenGL_deps QtWidgets)
create_pyside_module(QtOpenGL
QtOpenGL_include_dirs
diff --git a/PySide2/QtOpenGL/typesystem_opengl.xml b/PySide2/QtOpenGL/typesystem_opengl.xml
index 8bd52783c..6a373ac8a 100644
--- a/PySide2/QtOpenGL/typesystem_opengl.xml
+++ b/PySide2/QtOpenGL/typesystem_opengl.xml
@@ -36,7 +36,7 @@
$QT_END_LICENSE$
-->
<typesystem package="PySide2.QtOpenGL">
- <load-typesystem name="typesystem_gui.xml" generate="no" />
+ <load-typesystem name="typesystem_widgets.xml" generate="no" />
<primitive-type name="GLbitfield"/>
<primitive-type name="GLboolean"/>
@@ -85,7 +85,6 @@
</modify-function>
<!-- ### Obsolete functions and ctors -->
- <modify-function signature="generateFontDisplayLists(QFont, int)" remove="all"/>
<modify-function signature="QGLContext(const QGLFormat&amp;, QPaintDevice*)" remove="all" />
<!-- ### -->
</object-type>
@@ -114,7 +113,6 @@
<modify-function signature="setContext(QGLContext*,const QGLContext*,bool)" remove="all" />
<!-- ### -->
<!--- ### Obsolete functions -->
- <modify-function signature="fontDisplayListBase(QFont, int)" remove="all"/>
<modify-function signature="setFormat(QGLFormat)" remove="all"/>
<!-- ### -->
</object-type>
diff --git a/PySide2/global.h.in b/PySide2/global.h.in
index 69e4fddf8..f0aaa45b4 100644
--- a/PySide2/global.h.in
+++ b/PySide2/global.h.in
@@ -390,6 +390,8 @@ QT_END_NAMESPACE
#undef Q_QDOC
#endif
#include <QtGui/QtGui>
+#include <QtWidgets/QtWidgets>
+#include <QtOpenGL/QtOpenGL>
#include "qpytextobject.h" // PySide class
#if @ENABLE_X11@
#if @Qt5X11Extras_FOUND@
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index c37eb05fa..c8699aade 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -47,23 +47,38 @@ else()
add_subdirectory(pysidetest)
add_subdirectory(signals)
+ # XXX we should add some tests, here!
TEST_QT_MODULE(Qt5Core_FOUND QtCore)
+ #TEST_QT_MODULE(Qt5Concurrent_FOUND QtConcurrect)
TEST_QT_MODULE(Qt5Gui_FOUND QtGui)
TEST_QT_MODULE(Qt5Widgets_FOUND QtWidgets)
+ #TEST_QT_MODULE(Qt5PrintSupport_FOUND QtPrintSupport)
TEST_QT_MODULE(Qt5Network_FOUND QtNetwork)
TEST_QT_MODULE(Qt5WebKit_FOUND QtWebKit)
- TEST_QT_MODULE(Qt5Svg_FOUND QtSvg)
+ TEST_QT_MODULE(Qt5WebKitWidgets_FOUND QtWebKitWidgets)
TEST_QT_MODULE(Qt5Xml_FOUND QtXml)
+ TEST_QT_MODULE(Qt5XmlPatterns_FOUND QtXmlPatterns)
+ TEST_QT_MODULE(Qt5Svg_FOUND QtSvg)
TEST_QT_MODULE(Qt5Test_FOUND QtTest)
- TEST_QT_MODULE(Qt5OpenGL_FOUND QtOpenGL)
TEST_QT_MODULE(Qt5Sql_FOUND QtSql)
+ #TEST_QT_MODULE(Qt5Designer_FOUND QtDesigner)
+ TEST_QT_MODULE(Qt5OpenGL_FOUND QtOpenGL)
TEST_QT_MODULE(Qt5UiTools_FOUND QtUiTools)
TEST_QT_MODULE(Qt5Help_FOUND QtHelp)
- TEST_QT_MODULE(Qt5XmlPatterns_FOUND QtXmlPatterns)
TEST_QT_MODULE(Qt5Script_FOUND QtScript)
TEST_QT_MODULE(Qt5ScriptTools_FOUND QtScriptTools)
TEST_QT_MODULE(Qt5Multimedia_FOUND QtMultimedia)
TEST_QT_MODULE(Qt5Qml_FOUND QtQml)
+ #TEST_QT_MODULE(Qt5Quick_FOUND QtQuick)
+ #TEST_QT_MODULE(Qt5QuickWidgets_FOUND QtQuickWidgets)
+ #TEST_QT_MODULE(Qt5WebChannel_FOUND QtWebChannel)
+ #TEST_QT_MODULE(Qt5WebEngine_FOUND QtWebEngine)
+ #TEST_QT_MODULE(Qt5WebEngineWidgets_FOUND QtWebEngineWidgets)
+ #TEST_QT_MODULE(Qt5WebSockets_FOUND QtWebSockets)
+
+ if(UNIX AND NOT APPLE)
+ #TEST_QT_MODULE(Qt5X11Extras_FOUND QtX11Extras) # new in Qt5, from QtGui
+ endif()
#platform specific
if (ENABLE_MAC)
diff --git a/tests/QtOpenGL/CMakeLists.txt b/tests/QtOpenGL/CMakeLists.txt
index 7c7098535..b37a9ddce 100644
--- a/tests/QtOpenGL/CMakeLists.txt
+++ b/tests/QtOpenGL/CMakeLists.txt
@@ -1,4 +1,2 @@
-if(${QTVERSION} VERSION_GREATER 4.6.9)
- PYSIDE_TEST(qglbuffer_test.py)
-endif()
+PYSIDE_TEST(qglbuffer_test.py)
PYSIDE_TEST(qglwidget_test.py)
diff --git a/tests/QtOpenGL/qglwidget_test.py b/tests/QtOpenGL/qglwidget_test.py
index 2089b1ada..48774f280 100644
--- a/tests/QtOpenGL/qglwidget_test.py
+++ b/tests/QtOpenGL/qglwidget_test.py
@@ -27,6 +27,7 @@
#############################################################################
import unittest
+from PySide2.QtGui import *
from PySide2.QtWidgets import *
from PySide2.QtOpenGL import *