diff options
Diffstat (limited to 'PySide')
-rw-r--r-- | PySide/CMakeLists.txt | 17 | ||||
-rw-r--r-- | PySide/QtCore/typesystem_core.xml | 7 | ||||
-rw-r--r-- | PySide/QtGui/CMakeLists.txt | 4 | ||||
-rw-r--r-- | PySide/QtGui/typesystem_gui_common.xml | 9 | ||||
-rw-r--r-- | PySide/QtGui/typesystem_gui_win.xml | 6 | ||||
-rw-r--r-- | PySide/QtNetwork/CMakeLists.txt | 13 | ||||
-rw-r--r-- | PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp | 2 | ||||
-rw-r--r-- | PySide/QtNetwork/typesystem_network.xml | 13 | ||||
-rw-r--r-- | PySide/QtScriptTools/CMakeLists.txt | 59 | ||||
-rw-r--r-- | PySide/QtSvg/CMakeLists.txt | 12 | ||||
-rw-r--r-- | PySide/QtTest/CMakeLists.txt | 12 | ||||
-rw-r--r-- | PySide/QtWebKit/CMakeLists.txt | 12 | ||||
-rw-r--r-- | PySide/global.h.in | 2 | ||||
-rw-r--r-- | PySide/typesystem_templates.xml | 2 |
14 files changed, 72 insertions, 98 deletions
diff --git a/PySide/CMakeLists.txt b/PySide/CMakeLists.txt index 25f267e16..10e0bc71b 100644 --- a/PySide/CMakeLists.txt +++ b/PySide/CMakeLists.txt @@ -21,19 +21,24 @@ macro(create_pyside_module module_name typesystem_file module_include_dir module include_directories(${module_name} ${${module_include_dir}}) add_library(${module_name} MODULE ${${module_sources}}) - set_target_properties(${module_name} PROPERTIES PREFIX "") + set_target_properties(${module_name} PROPERTIES PREFIX "" LIBRARY_OUTPUT_DIRECTORY ${pyside_BINARY_DIR}) if(WIN32) set_target_properties(${module_name} PROPERTIES SUFFIX ".pyd") + set(${module_name}_suffix ".pyd") + else() + set(${module_name}_suffix ".so") endif() target_link_libraries(${module_name} ${${module_libraries}}) if(${module_deps}) add_dependencies(${module_name} ${${module_deps}}) endif() + # install - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${module_name}${CMAKE_DEBUG_POSTFIX}.so + install(FILES ${pyside_BINARY_DIR}/${module_name}${CMAKE_DEBUG_POSTFIX}${${module_name}_suffix} DESTINATION ${SITE_PACKAGE}/PySide) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/${module_name}/pyside_${module_name}_python.h + string(TOLOWER ${module_name} lower_module_name) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/${module_name}/pyside_${lower_module_name}_python.h DESTINATION include/PySide/${module_name}/) install(FILES ${typesystem_file} DESTINATION share/PySide/typesystems) @@ -52,16 +57,14 @@ if (DISABLE_${name}) else() if (${var}) add_subdirectory(${name}) - execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_BINARY_DIR}/${name}/${name}${CMAKE_DEBUG_POSTFIX}${CMAKE_SHARED_MODULE_SUFFIX}" - "${CMAKE_BINARY_DIR}/PySide/${name}${CMAKE_SHARED_MODULE_SUFFIX}") else() message(STATUS "${name} NOT found. ${name} support disabled.") endif() endif() endmacro(HAS_QT_MODULE) -execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_SOURCE_DIR}/__init__.py" - "${CMAKE_BINARY_DIR}/PySide/__init__.py") +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/__init__.py" + "${CMAKE_BINARY_DIR}/PySide/__init__.py") # Try to find QtMultimedia # TODO: Remove this hack when cmake support QtMultimedia module if (NOT QT_QTMULTIMEDIA_FOUND AND ${QTVERSION} VERSION_GREATER 4.5.9) diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml index 571cc913d..1e371f026 100644 --- a/PySide/QtCore/typesystem_core.xml +++ b/PySide/QtCore/typesystem_core.xml @@ -127,14 +127,13 @@ <primitive-type name="unsigned int" default-constructor="0"/> <primitive-type name="signed long" default-constructor="0"/> <primitive-type name="long"/> - <primitive-type name="unsigned long" default-constructor="0"/> - <primitive-type name="WId"> - <!-- FIXME This is a workaround to include some headers needed by some includes (nothing to do with QBool) --> + <primitive-type name="unsigned long" default-constructor="0"> + <!-- FIXME APIExtractor or shiboken do not support multiple includes by primitive type --> <include file-name="signalmanager.h" location="global"/> </primitive-type> <primitive-type name="Qt::HANDLE" target-lang-api-name="PyLong"> <!-- FIXME APIExtractor or shiboken do not support multiple includes by primitive type --> - <include file-name="QTextDocument" location="global"/> + <include file-name="QTextDocument" location="global"/> </primitive-type> <primitive-type name="QBool" target-lang-api-name="PyBool"> <conversion-rule file="qbool_conversions.h"/> diff --git a/PySide/QtGui/CMakeLists.txt b/PySide/QtGui/CMakeLists.txt index 18ce25601..9d2b89704 100644 --- a/PySide/QtGui/CMakeLists.txt +++ b/PySide/QtGui/CMakeLists.txt @@ -52,6 +52,10 @@ elseif(ENABLE_MAC) set(MODULE_NAME "mac") set(SPECIFIC_OS_FILES ) +elseif(ENABLE_WIN) + set(MODULE_NAME "win") + set(SPECIFIC_OS_FILES + ) endif(ENABLE_X11) diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index 111096488..80122c297 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -2587,7 +2587,10 @@ <!-- TODO: Support conversions on virtual function --> <modify-function signature="drawItems(QPainter*, int, QGraphicsItem**, const QStyleOptionGraphicsItem*)"> - + <extra-includes> + <include file-name="autoarraypointer.h" location="global"/> + </extra-includes> + <modify-argument index="2"> <remove-argument/> <conversion-rule class="native"> @@ -2599,7 +2602,7 @@ <replace-type modified-type="PySequence"/> <conversion-rule class="native"> int numItems = PySequence_Size(%PYARG_1); - QGraphicsItem *%out[numItems]; + PySide::AutoArrayPointer<QGraphicsItem*> %out(numItems); for (int i=0; i < numItems; i++) { %out[i] = %CONVERTTOCPP[QGraphicsItem*](PySequence_Fast_GET_ITEM(%PYARG_1, i)); } @@ -2626,7 +2629,7 @@ <conversion-rule class="native"> int numOptions = PySequence_Size(%PYARG_2); - QStyleOptionGraphicsItem %out[numOptions]; + PySide::AutoArrayPointer<QStyleOptionGraphicsItem> %out(numOptions); for (int i=0; i < numOptions; i++) { %out[i] = %CONVERTTOCPP[QStyleOptionGraphicsItem](PySequence_Fast_GET_ITEM(%PYARG_1, i)); } diff --git a/PySide/QtGui/typesystem_gui_win.xml b/PySide/QtGui/typesystem_gui_win.xml new file mode 100644 index 000000000..f44d3d4d2 --- /dev/null +++ b/PySide/QtGui/typesystem_gui_win.xml @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<typesystem package="PySide.QtGui"> + <primitive-type name="Qt::HANDLE" target-lang-api-name="PyObject"/> + <enum-type name="QPixmap::HBitmapFormat" /> + <load-typesystem name="typesystem_gui_common.xml" generate="yes"/> +</typesystem> diff --git a/PySide/QtNetwork/CMakeLists.txt b/PySide/QtNetwork/CMakeLists.txt index df3c12964..15504990d 100644 --- a/PySide/QtNetwork/CMakeLists.txt +++ b/PySide/QtNetwork/CMakeLists.txt @@ -34,19 +34,6 @@ macro(CHECK_QT_NETWORK_MACRO macro_display_name qt_macro module_sources global_s endmacro(CHECK_QT_NETWORK_MACRO) -if(Q_WS_X11) - set(MODULE_NAME network_x11) - set(SPECIFIC_OS_FILES - ) - -elseif(Q_WS_MAC) - set(MODULE_NAME network_mac) - set(SPECIFIC_OS_FILES - ) -else() - message(FATAL_ERROR "OS not supported") -endif(Q_WS_X11) - if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} GREATER 6) set (QtNetwork_47_SRC ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtNetwork/qnetworkconfiguration_wrapper.cpp diff --git a/PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp b/PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp index 95ece5193..db38f4526 100644 --- a/PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp +++ b/PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp @@ -1,4 +1,4 @@ - char data[%ARGUMENT_NAMES]; + PySide::AutoArrayPointer<char> data(%ARGUMENT_NAMES); QHostAddress ha; quint16 port; diff --git a/PySide/QtNetwork/typesystem_network.xml b/PySide/QtNetwork/typesystem_network.xml index 9a56b74b9..80a62a4bc 100644 --- a/PySide/QtNetwork/typesystem_network.xml +++ b/PySide/QtNetwork/typesystem_network.xml @@ -10,6 +10,7 @@ <rejection class="QIPv6Address" field-name="c"/> <rejection class="QSslCertificate"/> + <enum-type name="QNetworkConfiguration::BearerType" /> <enum-type name="QAbstractSocket::NetworkLayerProtocol"/> <enum-type name="QAbstractSocket::SocketError"/> <enum-type name="QAbstractSocket::SocketOption"/> @@ -53,6 +54,10 @@ </object-type> <object-type name="QFtp"> + <extra-includes> + <include file-name="autoarraypointer.h" location="global"/> + </extra-includes> + <modify-function signature="connectToHost(const QString&, quint16)" allow-thread="yes" /> <modify-function signature="login(const QString&, const QString&)" allow-thread="yes" /> <modify-function signature="close()" allow-thread="yes" /> @@ -81,6 +86,10 @@ </object-type> <object-type name="QHttp"> + <extra-includes> + <include file-name="autoarraypointer.h" location="global"/> + </extra-includes> + <modify-function signature="closeConnection()" remove="all"/> <modify-function signature="readAll()" allow-thread="yes"/> <modify-function signature="read(char*, qint64)" allow-thread="yes"> @@ -115,6 +124,10 @@ </object-type> <object-type name="QTcpSocket"/> <object-type name="QUdpSocket"> + <extra-includes> + <include file-name="autoarraypointer.h" location="global"/> + </extra-includes> + <modify-function signature="readDatagram(char*, qint64, QHostAddress*, quint16*)" allow-thread="yes"> <modify-argument index="1"> <remove-argument/> diff --git a/PySide/QtScriptTools/CMakeLists.txt b/PySide/QtScriptTools/CMakeLists.txt index 22860b1d4..39faee45b 100644 --- a/PySide/QtScriptTools/CMakeLists.txt +++ b/PySide/QtScriptTools/CMakeLists.txt @@ -5,38 +5,33 @@ set(QtScriptTools_SRC ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScriptTools/qscriptenginedebugger_wrapper.cpp ) -execute_generator(scripttools QtScriptTools_SRC "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtScript_SOURCE_DIR}:${QtScriptTools_SOURCE_DIR}") +set(QtScriptTools_typesystem_path "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtScript_SOURCE_DIR}:${QtScriptTools_SOURCE_DIR}") -include_directories(${CMAKE_CURRENT_SOURCE_DIR} - ${QT_QTCORE_INCLUDE_DIR} - ${QT_GUI_INCLUDE_DIR} - ${QT_QTSCRIPT_INCLUDE_DIR} - ${QT_QTSCRIPTTOOLS_INCLUDE_DIR} - ${PYTHON_INCLUDE_PATH} - ${SHIBOKEN_INCLUDE_DIR} - ${libpyside_SOURCE_DIR} - ${QtCore_BINARY_DIR}/PySide/QtCore/ - ${QtGui_BINARY_DIR}/PySide/QtGui/ - ${QtScript_BINARY_DIR}/PySide/QtScript/ - ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScriptTools) +set(QtScriptTools_include_dirs ${CMAKE_CURRENT_SOURCE_DIR} + ${QT_QTCORE_INCLUDE_DIR} + ${QT_GUI_INCLUDE_DIR} + ${QT_QTSCRIPT_INCLUDE_DIR} + ${QT_QTSCRIPTTOOLS_INCLUDE_DIR} + ${PYTHON_INCLUDE_PATH} + ${SHIBOKEN_INCLUDE_DIR} + ${libpyside_SOURCE_DIR} + ${QtCore_BINARY_DIR}/PySide/QtCore/ + ${QtGui_BINARY_DIR}/PySide/QtGui/ + ${QtScript_BINARY_DIR}/PySide/QtScript/ + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScriptTools) -add_library(QtScriptTools MODULE ${QtScriptTools_SRC}) -set_target_properties(QtScriptTools PROPERTIES PREFIX "") -target_link_libraries(QtScriptTools - pyside - ${PYSIDE_PYTHON_LIBRARIES} - ${QT_QTCORE_LIBRARY} - ${QT_GUI_LIBRARY} - ${QT_QTSCRIPT_LIBRARY} - ${QT_QTSCRIPTTOOLS_LIBRARY}) - -add_dependencies(QtScriptTools QtCore QtScript QtGui) - -# install -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QtScriptTools${CMAKE_DEBUG_POSTFIX}.so - DESTINATION ${SITE_PACKAGE}/PySide) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScriptTools/pyside_qtscripttools_python.h - DESTINATION include/PySide/QtScriptTools/) -install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_scripttools.xml - DESTINATION share/PySide/typesystems) +set(QtScriptTools_libraries pyside + ${PYSIDE_PYTHON_LIBRARIES} + ${QT_QTCORE_LIBRARY} + ${QT_GUI_LIBRARY} + ${QT_QTSCRIPT_LIBRARY} + ${QT_QTSCRIPTTOOLS_LIBRARY}) +set(QtScriptTools_deps QtCore QtScript QtGui) +create_pyside_module(QtScriptTools + ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_scripttools.xml + QtScriptTools_include_dirs + QtScriptTools_libraries + QtScriptTools_deps + QtScriptTools_typesystem_path + QtScriptTools_SRC) diff --git a/PySide/QtSvg/CMakeLists.txt b/PySide/QtSvg/CMakeLists.txt index 4119512ce..a56ee3382 100644 --- a/PySide/QtSvg/CMakeLists.txt +++ b/PySide/QtSvg/CMakeLists.txt @@ -1,17 +1,5 @@ project(QtSvg) -if(Q_WS_X11) - set(MODULE_NAME svg_x11) - set(SPECIFIC_OS_FILES - ) -elseif(Q_WS_MAC) - set(MODULE_NAME svg_mac) - set(SPECIFIC_OS_FILES - ) -else() - message(FATAL_ERROR "OS not supported") -endif(Q_WS_X11) - if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6) set (QtSvg_46_SRC ) else () diff --git a/PySide/QtTest/CMakeLists.txt b/PySide/QtTest/CMakeLists.txt index def84db80..4bf0bca25 100644 --- a/PySide/QtTest/CMakeLists.txt +++ b/PySide/QtTest/CMakeLists.txt @@ -1,17 +1,5 @@ project(QtTest) -if(Q_WS_X11) - set(MODULE_NAME test_x11) - set(SPECIFIC_OS_FILES - ) -elseif(Q_WS_MAC) - set(MODULE_NAME test_mac) - set(SPECIFIC_OS_FILES - ) -else() - message(FATAL_ERROR "OS not supported") -endif(Q_WS_X11) - set(QtTest_SRC ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtTest/qtest_wrapper.cpp ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtTest/qttest_module_wrapper.cpp diff --git a/PySide/QtWebKit/CMakeLists.txt b/PySide/QtWebKit/CMakeLists.txt index 08e20be02..9039835b4 100644 --- a/PySide/QtWebKit/CMakeLists.txt +++ b/PySide/QtWebKit/CMakeLists.txt @@ -1,17 +1,5 @@ project(QtWebKit) -if(Q_WS_X11) - set(MODULE_NAME webkit_x11) - set(SPECIFIC_OS_FILES - ) -elseif(Q_WS_MAC) - set(MODULE_NAME webkit_mac) - set(SPECIFIC_OS_FILES - ) -else() - message(FATAL_ERROR "OS not supported") -endif(Q_WS_X11) - if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6) set (QtWebKit_46_SRC ) else () diff --git a/PySide/global.h.in b/PySide/global.h.in index c9c8ba8f2..cf21bd6cc 100644 --- a/PySide/global.h.in +++ b/PySide/global.h.in @@ -345,7 +345,7 @@ QT_END_HEADER #define QT_NO_DEBUG #include <QtCore/QtCore> -#if @ENABLE_MAC@ +#if @ENABLE_MAC@ || @ENABLE_WIN@ #undef qdoc #endif #include <QtGui/QtGui> diff --git a/PySide/typesystem_templates.xml b/PySide/typesystem_templates.xml index 1de06a1d6..b8c43eebe 100644 --- a/PySide/typesystem_templates.xml +++ b/PySide/typesystem_templates.xml @@ -121,7 +121,7 @@ %PYARG_0 = Shiboken::makeTuple(a, b, c, d, e); </template> <template name="read_wrapper"> - char _data[%2]; + PySide::AutoArrayPointer<char> _data(%2); qint64 _size = %CPPSELF.%FUNCTION_NAME(_data, %2); if (_size > 0) %PYARG_0 = %CONVERTTOPYTHON[QByteArray](QByteArray(_data, _size)); |