diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-05-27 09:56:14 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-06-09 17:05:15 +0200 |
| commit | f8a891f3d2b833747d575d92de99dfb27396a355 (patch) | |
| tree | dedeabfc5c01ed198549d493cbb91461b04d87a1 | |
| parent | 77669e48fd8ac0f4ca199173672c4bf0c9dc654b (diff) | |
Use conditional processing in the type system
In CMake, remove the AUTO_OS variable from the check_os() macro. Fold
the macOS/X11 type system files of Qt Core into the common type system
file.
Task-number: PYSIDE-802
Task-number: PYSIDE-1568
Change-Id: Ib751f40fbf7eca8fe4d08270db4fbc1e938323c5
Reviewed-by: Christian Tismer <tismer@stackless.com>
| -rw-r--r-- | sources/cmake_helpers/helpers.cmake | 6 | ||||
| -rw-r--r-- | sources/pyside6/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/QtCore/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/QtCore/typesystem_core.xml (renamed from sources/pyside6/PySide6/QtCore/typesystem_core.xml.in) | 4 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/QtCore/typesystem_core_common.xml | 7 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/QtCore/typesystem_core_mac.xml | 44 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/QtCore/typesystem_core_win.xml | 3 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/QtCore/typesystem_core_x11.xml | 48 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/QtGui/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | sources/pyside6/PySide6/QtGui/typesystem_gui.xml (renamed from sources/pyside6/PySide6/QtGui/typesystem_gui.xml.in) | 10 |
10 files changed, 21 insertions, 108 deletions
diff --git a/sources/cmake_helpers/helpers.cmake b/sources/cmake_helpers/helpers.cmake index b7c498637..beba25c74 100644 --- a/sources/cmake_helpers/helpers.cmake +++ b/sources/cmake_helpers/helpers.cmake @@ -64,14 +64,10 @@ set(ENABLE_WIN "0") if(CMAKE_HOST_APPLE) set(ENABLE_MAC "1") - set(AUTO_OS "mac") elseif(CMAKE_HOST_WIN32) set(ENABLE_WIN "1") set(ENABLE_UNIX "0") - set(AUTO_OS "win") -elseif(CMAKE_HOST_UNIX) - set(AUTO_OS "x11") -else() +elseif(NOT CMAKE_HOST_UNIX) message(FATAL_ERROR "OS not supported") endif() endmacro() diff --git a/sources/pyside6/CMakeLists.txt b/sources/pyside6/CMakeLists.txt index a3d7bfdd1..1fd652e6a 100644 --- a/sources/pyside6/CMakeLists.txt +++ b/sources/pyside6/CMakeLists.txt @@ -181,7 +181,6 @@ endif() # Configure OS support check_os() -message(STATUS "Detected OS: ${AUTO_OS}") # Define supported Qt Version set(SUPPORTED_QT_VERSION "${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}") diff --git a/sources/pyside6/PySide6/QtCore/CMakeLists.txt b/sources/pyside6/PySide6/QtCore/CMakeLists.txt index a6d523e89..d4babebe9 100644 --- a/sources/pyside6/PySide6/QtCore/CMakeLists.txt +++ b/sources/pyside6/PySide6/QtCore/CMakeLists.txt @@ -191,9 +191,6 @@ set(QtCore_glue_sources "${QtCore_SOURCE_DIR}/glue/qeasingcurve_glue.h" ) -configure_file("${QtCore_SOURCE_DIR}/typesystem_core.xml.in" - "${QtCore_BINARY_DIR}/typesystem_core.xml" @ONLY) - set(QtCore_include_dirs ${QtCore_SOURCE_DIR} ${QtCore_BINARY_DIR} ${Qt${QT_MAJOR_VERSION}Core_INCLUDE_DIRS} diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core.xml.in b/sources/pyside6/PySide6/QtCore/typesystem_core.xml index cebafdcc6..cfceaae80 100644 --- a/sources/pyside6/PySide6/QtCore/typesystem_core.xml.in +++ b/sources/pyside6/PySide6/QtCore/typesystem_core.xml @@ -40,6 +40,8 @@ ****************************************************************************/ --> <typesystem package="PySide6.QtCore"> - <load-typesystem name="QtCore/typesystem_core_@AUTO_OS@.xml" generate="yes"/> + <?if windows?> + <load-typesystem name="QtCore/typesystem_core_win.xml" generate="yes"/> + <?endif?> <load-typesystem name="QtCore/typesystem_core_common.xml" generate="yes"/> </typesystem> diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml index fcf17cc25..73acc6e75 100644 --- a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml +++ b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml @@ -204,6 +204,13 @@ <include file-name="signalmanager.h" location="global"/> </primitive-type> + <?if windows darwin?> + <primitive-type name="Qt::HANDLE" target-lang-api-name="PyObject"/> + <?endif?> + <?if linux?> + <primitive-type name="Qt::HANDLE" target-lang-api-name="PyLong"/> + <?endif?> + <primitive-type name="bool" target-lang-api-name="PyBool"> <conversion-rule> <native-to-target file="../glue/qtcore.cpp" snippet="return-pybool"/> diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_mac.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_mac.xml deleted file mode 100644 index 91c8ab918..000000000 --- a/sources/pyside6/PySide6/QtCore/typesystem_core_mac.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt for Python. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ ---> -<typesystem package="PySide6.QtCore"> - <primitive-type name="Qt::HANDLE" target-lang-api-name="PyObject"/> -</typesystem> diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_win.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_win.xml index 764ea7777..f76dc4864 100644 --- a/sources/pyside6/PySide6/QtCore/typesystem_core_win.xml +++ b/sources/pyside6/PySide6/QtCore/typesystem_core_win.xml @@ -41,9 +41,8 @@ --> <typesystem package="PySide6.QtCore"> <extra-includes> - <include file-name="windows.h" location="global"/> + <include file-name="QtCore/qt_windows.h" location="global"/> </extra-includes> - <primitive-type name="Qt::HANDLE" target-lang-api-name="PyObject"/> <primitive-type name="HWND"> <!-- Qt5: Add this include there to insert ti in the global qtcore header (needed by qprocess_wrapper) --> <include file-name="wtypes.h" location="global"/> diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_x11.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_x11.xml deleted file mode 100644 index 416ea249e..000000000 --- a/sources/pyside6/PySide6/QtCore/typesystem_core_x11.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt for Python. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ ---> -<typesystem package="PySide6.QtCore"> - <primitive-type name="Qt::HANDLE" target-lang-api-name="PyLong"> - <!-- FIXME APIExtractor or shiboken do not support multiple includes by primitive type --> - <!-- Qt5: XXX move this to QtGui <include file-name="QTextDocument" location="global"/> --> - </primitive-type> - <!-- Qt5: had to move QAbstractEventDispatcher into os-specific files because of Windows --> -</typesystem> diff --git a/sources/pyside6/PySide6/QtGui/CMakeLists.txt b/sources/pyside6/PySide6/QtGui/CMakeLists.txt index 5b5379089..a2605d03a 100644 --- a/sources/pyside6/PySide6/QtGui/CMakeLists.txt +++ b/sources/pyside6/PySide6/QtGui/CMakeLists.txt @@ -206,9 +206,6 @@ ${QtGui_GEN_DIR}/qwindowstatechangeevent_wrapper.cpp ${QtGui_GEN_DIR}/qtgui_module_wrapper.cpp ) -configure_file("${QtGui_SOURCE_DIR}/typesystem_gui.xml.in" - "${QtGui_BINARY_DIR}/typesystem_gui.xml" @ONLY) - configure_file("${QtGui_SOURCE_DIR}/QtGui_global.post.h.in" "${QtGui_BINARY_DIR}/QtGui_global.post.h" @ONLY) diff --git a/sources/pyside6/PySide6/QtGui/typesystem_gui.xml.in b/sources/pyside6/PySide6/QtGui/typesystem_gui.xml index 6f7dda3a1..f611eb3f9 100644 --- a/sources/pyside6/PySide6/QtGui/typesystem_gui.xml.in +++ b/sources/pyside6/PySide6/QtGui/typesystem_gui.xml @@ -41,6 +41,14 @@ --> <typesystem package="PySide6.QtGui"> <load-typesystem name="QtCore/typesystem_core.xml" generate="no"/> - <load-typesystem name="QtGui/typesystem_gui_@AUTO_OS@.xml" generate="yes"/> + <?if windows?> + <load-typesystem name="QtGui/typesystem_gui_win.xml" generate="yes"/> + <?endif?> + <?if darwin?> + <load-typesystem name="QtGui/typesystem_gui_mac.xml" generate="yes"/> + <?endif?> + <?if unix !darwin?> + <load-typesystem name="QtGui/typesystem_gui_x11.xml" generate="yes"/> + <?endif?> <load-typesystem name="QtGui/typesystem_gui_common.xml" generate="yes"/> </typesystem> |
