diff --git a/cmake/FindQtRuntime.cmake b/cmake/FindQtRuntime.cmake index 42060c835..eecb1fcc8 100644 --- a/cmake/FindQtRuntime.cmake +++ b/cmake/FindQtRuntime.cmake @@ -1,8 +1,7 @@ # Find a compatible Qt version -# Inputs: WITH_SERVER, WITH_CLIENT, WITH_ORACLE, FORCE_USE_QT5 +# Inputs: WITH_SERVER, WITH_CLIENT, WITH_ORACLE # Optional Input: QT6_DIR -- Hint as to where Qt6 lives on the system -# Optional Input: QT5_DIR -- Hint as to where Qt5 lives on the system -# Output: COCKATRICE_QT_VERSION_NAME -- Example values: Qt5, Qt6 +# Output: COCKATRICE_QT_VERSION_NAME -- Example values: Qt6 # Output: SERVATRICE_QT_MODULES # Output: COCKATRICE_QT_MODULES # Output: ORACLE_QT_MODULES @@ -39,54 +38,32 @@ set(REQUIRED_QT_COMPONENTS ${REQUIRED_QT_COMPONENTS} ${_SERVATRICE_NEEDED} ${_CO ) list(REMOVE_DUPLICATES REQUIRED_QT_COMPONENTS) -if(NOT FORCE_USE_QT5) - # Linguist is now a component in Qt6 instead of an external package - find_package( - Qt6 6.2.3 - COMPONENTS ${REQUIRED_QT_COMPONENTS} Linguist - QUIET HINTS ${Qt6_DIR} - ) -endif() +# Find Qt and all required components, as well as Linguist +find_package( + Qt6 + COMPONENTS ${REQUIRED_QT_COMPONENTS} Linguist + QUIET HINTS ${Qt6_DIR} +) + if(Qt6_FOUND) set(COCKATRICE_QT_VERSION_NAME Qt6) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) - list(FIND Qt6LinguistTools_TARGETS Qt6::lrelease QT6_LRELEASE_INDEX) - if(QT6_LRELEASE_INDEX EQUAL -1) - message(WARNING "Qt6 lrelease not found.") - endif() - - list(FIND Qt6LinguistTools_TARGETS Qt6::lupdate QT6_LUPDATE_INDEX) - if(QT6_LUPDATE_INDEX EQUAL -1) - message(WARNING "Qt6 lupdate not found.") - endif() -else() - find_package( - Qt5 5.15.2 - COMPONENTS ${REQUIRED_QT_COMPONENTS} - QUIET HINTS ${Qt5_DIR} - ) - if(Qt5_FOUND) - set(COCKATRICE_QT_VERSION_NAME Qt5) - else() - message(FATAL_ERROR "No suitable version of Qt was found") - endif() - - # Qt5 Linguist is in a separate package - find_package(Qt5LinguistTools QUIET) - if(Qt5LinguistTools_FOUND) - if(NOT Qt5_LRELEASE_EXECUTABLE) - message(WARNING "Qt5 lrelease not found.") + if(Qt6LinguistTools_FOUND) + list(FIND Qt6LinguistTools_TARGETS Qt6::lrelease QT6_LRELEASE_INDEX) + if(QT6_LRELEASE_INDEX EQUAL -1) + message(WARNING "Qt6 lrelease not found.") endif() - if(NOT Qt5_LUPDATE_EXECUTABLE) - message(WARNING "Qt5 lupdate not found.") + + list(FIND Qt6LinguistTools_TARGETS Qt6::lupdate QT6_LUPDATE_INDEX) + if(QT6_LUPDATE_INDEX EQUAL -1) + message(WARNING "Qt6 lupdate not found.") endif() else() message(WARNING "Linguist Tools not found, cannot handle translations") endif() -endif() - -if(Qt5_POSITION_INDEPENDENT_CODE OR Qt6_FOUND) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) +else() + message(FATAL_ERROR "Qt6 not found") endif() # Establish Qt Plugins directory & Library directories @@ -99,9 +76,6 @@ if(Qt6_FOUND) # Mac needs a bit more help finding all necessary components list(APPEND QT_LIBRARY_DIR "/usr/local/lib") endif() -elseif(Qt5_FOUND) - get_filename_component(QT_PLUGINS_DIR "${Qt5Core_DIR}/../../../plugins" ABSOLUTE) - get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/.." ABSOLUTE) endif() message(DEBUG "QT_PLUGINS_DIR = ${QT_PLUGINS_DIR}") message(DEBUG "QT_LIBRARY_DIR = ${QT_LIBRARY_DIR}")