From 4e05d32e34efd6c82ab5e10c6685d7fe60f7b514 Mon Sep 17 00:00:00 2001 From: edisionnano Date: Mon, 3 Feb 2025 17:45:41 +0200 Subject: [PATCH] CMake Improvements Avoid harcoding the major.MINOR Qt version, find it instead --- CMakeLists.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cbe6a19..d7a9846 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,16 +10,20 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Wuseless-cast -Wconversion -Wsign-conversion -Wshadow") -if(NOT DEFINED QT_VERSION_MAJOR) - set(QT_VERSION_MAJOR 6) - set(QT_VERSION_MINOR 7) +if (NOT DEFINED QT_VERSION_MAJOR) + find_package(QT NAMES Qt6 COMPONENTS Core QUIET) + if (NOT QT_FOUND) + find_package(QT NAMES Qt5 COMPONENTS Core QUIET) + endif() +else() + find_package(QT NAMES Qt${QT_VERSION_MAJOR} COMPONENTS Core QUIET) endif() +set(QT_COMPONENTS Widgets) if(ENABLE_TRANSLATIONS) - find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools) -else() - find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) + list(APPEND QT_COMPONENTS LinguistTools) endif() +find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS ${QT_COMPONENTS}) file(GLOB_RECURSE PROJECT_SOURCES src/*.h