-if(LYX_USE_QT MATCHES "QT5")
- if (Qt5X11Extras_FOUND)
- get_target_property(_x11extra_prop Qt5::X11Extras IMPORTED_CONFIGURATIONS)
- get_target_property(_x11extra_link_libraries Qt5::X11Extras IMPORTED_LOCATION_${_x11extra_prop})
+set(QPA_XCB)
+set(HAVE_QT5_X11_EXTRAS)
+set(HAVE_QT6_X11_EXTRAS)
+if (LYX_USE_QT MATCHES "QT5|QT6")
+ if (LYX_USE_QT MATCHES "QT5")
+ set(QtVal Qt5)
+ else()
+ set(QtVal Qt6)
+ endif()
+ set(CMAKE_REQUIRED_INCLUDES ${${QtVal}Core_INCLUDE_DIRS})
+ set(CMAKE_REQUIRED_FLAGS)
+ #message(STATUS "${QtVal}Core_INCLUDE_DIRS = ${${QtVal}Core_INCLUDE_DIRS}")
+ check_include_file_cxx(QtGui/qtgui-config.h HAVE_QTGUI_CONFIG_H)
+ if (HAVE_QTGUI_CONFIG_H)
+ set(lyx_qt_config "QtGui/qtgui-config.h")
+ else()
+ set(lyx_qt_config "QtCore/qconfig.h")
+ endif()
+ if(WIN32)
+ set(QT_USES_X11 OFF CACHE BOOL "Win32 compiled without X11")
+ # The try_run for minngw would not work here anyway
+ else()
+ check_cxx_source_runs(
+ "
+ #include <${lyx_qt_config}>
+ #include <string>
+ using namespace std;
+ string a(QT_QPA_DEFAULT_PLATFORM_NAME);
+ int main(int argc, char **argv)
+ {
+ if (a.compare(\"xcb\") == 0)
+ return(0);
+ else
+ return 1;
+ }
+ "
+ QT_USES_X11)
+ if(QT_USES_X11 AND NOT LYX_USE_QT MATCHES "QT6")
+ set(QPA_XCB ${QT_USES_X11})
+ message(STATUS "Found QPA_XCB = ${QPA_XCB}")
+ endif()
+ endif()
+
+ if (${QtVal}X11Extras_FOUND)
+ get_target_property(_x11extra_prop ${QtVal}::X11Extras IMPORTED_CONFIGURATIONS)
+ get_target_property(_x11extra_link_libraries ${QtVal}::X11Extras IMPORTED_LOCATION_${_x11extra_prop})