-if (Qt5Core_FOUND)
- find_package(Qt5Widgets REQUIRED)
- find_package(Qt5X11Extras)
- set(QTVERSION ${Qt5Core_VERSION})
- macro (qt_use_modules)
- qt5_use_modules(${ARGN})
- endmacro()
- macro (qt_add_resources)
- qt5_add_resources(${ARGN})
- endmacro()
- macro (qt_wrap_uifiles)
- qt5_wrap_ui(${ARGN})
- endmacro()
-else()
+
+set(min_qt5_version "5.6")
+if(LYX_USE_QT MATCHES "AUTO")
+ # try qt5 first
+ find_package(Qt5Core QUIET)
+ if(Qt5Core_FOUND)
+ set(LYX_USE_QT "QT5" CACHE STRING "Valid qt version" FORCE)
+ message(STATUS "Qt5Core_VERSION = ${Qt5Core_VERSION}")
+ if(Qt5Core_VERSION VERSION_LESS ${min_qt5_version})
+ find_package(Qt4 "4.5.0" QUIET)
+ if(QT4_FOUND)
+ set(LYX_USE_QT "QT4" CACHE STRING "Valid qt version" FORCE)
+ endif()
+ endif()
+ else()
+ set(LYX_USE_QT "QT4" CACHE STRING "Valid qt version" FORCE)
+ endif()
+endif()
+if(LYX_USE_QT MATCHES "QT5")
+ # set QPA_XCB if QT uses X11
+ find_package(Qt5Core REQUIRED)
+ if (Qt5Core_FOUND)
+ find_package(Qt5Widgets REQUIRED)
+ if(APPLE)
+ find_package(Qt5MacExtras REQUIRED)
+ endif()
+ find_package(Qt5X11Extras QUIET)
+ find_package(Qt5WinExtras QUIET)
+ set(QTVERSION ${Qt5Core_VERSION})
+ if (QTVERSION VERSION_LESS ${min_qt5_version})
+ message(STATUS "QTVERSION = \"${QTVERSION}\"")
+ message(STATUS "This version is not recommended, try either option -DLYX_USE_QT=QT4 or")
+ message(STATUS "install QT-Version >= \"${min_qt5_version}\"")
+ # see thread in lyx-devel list
+ # From: Jean-Pierre Chrétien <jeanpierre.chretien@free.fr>
+ # Date 11.03.2017
+ # Subject: cmake compilation error
+ #message(FATAL_ERROR "Wrong Qt-Version")
+ endif()
+ macro (qt_use_modules)
+ qt5_use_modules(${ARGN})
+ endmacro()
+ macro (qt_add_resources)
+ qt5_add_resources(${ARGN})
+ endmacro()
+ macro (qt_wrap_uifiles)
+ qt5_wrap_ui(${ARGN})
+ endmacro()
+ message(STATUS "Found Qt-Version ${QTVERSION}")
+ if(WIN32)
+ set(LYX_QTMAIN_LIBRARY ${Qt5Core_QTMAIN_LIBRARIES})
+ endif()
+ endif()
+elseif(LYX_USE_QT MATCHES "QT4")
+ if(LYX_XMINGW)
+ set(QT_MINGW_DIR ${LYX_QT4} CACHE PATH "Qt for Mingw" FORCE)
+ list(APPEND CMAKE_FIND_ROOT_PATH ${QT_MINGW_DIR} ${GNUWIN32_DIR})
+ endif()