diff options
Diffstat (limited to 'sources/pyside2/CMakeLists.txt')
-rw-r--r-- | sources/pyside2/CMakeLists.txt | 44 |
1 files changed, 28 insertions, 16 deletions
diff --git a/sources/pyside2/CMakeLists.txt b/sources/pyside2/CMakeLists.txt index 1efcb53ed..dc2beded0 100644 --- a/sources/pyside2/CMakeLists.txt +++ b/sources/pyside2/CMakeLists.txt @@ -6,6 +6,8 @@ cmake_policy(VERSION 3.1) # Don't ignore targets that do not exist, inside add_dependencies calls. cmake_policy(SET CMP0046 NEW) +set (QT_MAJOR_VERSION 5) + project(pysidebindings) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../cmake_helpers/ @@ -77,11 +79,11 @@ if (SHIBOKEN_PYTHON_LIMITED_API) message(STATUS "******************************************************") endif() -find_package(Qt5 5.12 REQUIRED COMPONENTS Core) -add_definitions(${Qt5Core_DEFINITIONS}) +find_package(Qt${QT_MAJOR_VERSION} 5.12 REQUIRED COMPONENTS Core) +add_definitions(${Qt${QT_MAJOR_VERSION}Core_DEFINITIONS}) find_file(GL_H "gl.h" PATH_SUFFIXES "GL") -message("result:" "${GL_H}") +message(STATUS "GL Headers path:" "${GL_H}") include(FindQt5Extra) set(XVFB_EXEC "") @@ -108,17 +110,26 @@ endif() # Force usage of the C++11 standard, without a silent fallback # to C++98 if the compiler does not support C++11. -set(CMAKE_CXX_STANDARD 11) +if(${QT_MAJOR_VERSION} GREATER_EQUAL 6) + set(CMAKE_CXX_STANDARD 17) +else() + set(CMAKE_CXX_STANDARD 11) +endif() set(CMAKE_CXX_STANDARD_REQUIRED ON) -# Qt5: QT_INCLUDE_DIR does no longer exist. -# On Windows, macOS, and Linux it can be computed from Qt5Core_INCLUDE_DIRS, which contains -# a list of include directories. We take the first one. -message(STATUS "*** Qt5Core_INCLUDE_DIRS = ${Qt5Core_INCLUDE_DIRS}") -list(GET Qt5Core_INCLUDE_DIRS 0 QT_INCLUDE_DIR) +# >= Qt5: QT_INCLUDE_DIR does no longer exist. Derive from QtCore +if(${QT_MAJOR_VERSION} GREATER_EQUAL 6) + get_target_property(QT_INCLUDE_DIR Qt6::Core INTERFACE_INCLUDE_DIRECTORIES) + get_filename_component(QT_INCLUDE_DIR "${QT_INCLUDE_DIR}" DIRECTORY) +else() + # On Windows, macOS, and Linux it can be computed from Qt5Core_INCLUDE_DIRS, which contains + # a list of include directories. We take the first one. + list(GET Qt5Core_INCLUDE_DIRS 0 QT_INCLUDE_DIR) +endif() +message(STATUS "*** Qt ${QT_MAJOR_VERSION}, QT_INCLUDE_DIR= ${QT_INCLUDE_DIR}") # On macOS, check if Qt is a framework build. This affects how include paths should be handled. -get_target_property(QtCore_is_framework Qt5::Core FRAMEWORK) +get_target_property(QtCore_is_framework Qt${QT_MAJOR_VERSION}::Core FRAMEWORK) if (QtCore_is_framework) # Get the path to the framework dir. @@ -151,9 +162,9 @@ compute_config_py_values(BINDING_API_VERSION) include(PySideModules) # Set default values for pyside2_global.h -set (Qt5X11Extras_FOUND "0") -set (Qt5Test_FOUND "0") -set (Qt5Widgets_FOUND "0") +set (Qt${QT_MAJOR_VERSION}X11Extras_FOUND "0") +set (Qt${QT_MAJOR_VERSION}Test_FOUND "0") +set (Qt${QT_MAJOR_VERSION}Widgets_FOUND "0") collect_essential_modules() collect_optional_modules() @@ -175,7 +186,7 @@ foreach(m ${DISABLED_MODULES}) endforeach() -string(REGEX MATCHALL "[0-9]+" qt_version_helper "${Qt5Core_VERSION}") +string(REGEX MATCHALL "[0-9]+" qt_version_helper "${Qt${QT_MAJOR_VERSION}Core_VERSION}") list(GET qt_version_helper 0 QT_VERSION_MAJOR) list(GET qt_version_helper 1 QT_VERSION_MINOR) @@ -241,8 +252,9 @@ endif() ##################################################################### add_subdirectory(libpyside) -find_package(Qt5Designer) -if(Qt5UiTools_FOUND AND Qt5Designer_FOUND) +find_package(Qt${QT_MAJOR_VERSION}Designer) +if(${QT_MAJOR_VERSION} LESS 6 AND Qt${QT_MAJOR_VERSION}UiTools_FOUND + AND Qt${QT_MAJOR_VERSION}Designer_FOUND) add_subdirectory(plugins) endif() |