From 647a9e2e80fdfc2166649e922a75b4384de15726 Mon Sep 17 00:00:00 2001 From: Rick Vogel Date: Tue, 20 Dec 2022 15:23:59 +0100 Subject: [PATCH] using find_package QT --- .github/workflows/cmake.yml | 4 +++- CMakeLists.txt | 31 +++++-------------------------- playground/CMakeLists.txt | 2 +- playground/webview/CMakeLists.txt | 2 +- src/CMakeLists.txt | 2 +- 5 files changed, 11 insertions(+), 30 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 39dc1249..7ec4b307 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -353,7 +353,8 @@ jobs: -G "${{ matrix.config.generators }}" \ -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ -DCMAKE_INSTALL_PREFIX:PATH=qskinny_install \ - -DCMAKE_PREFIX_PATH:PATH="${{ matrix.config.cmake.qtprefixpath }}" + -DCMAKE_PREFIX_PATH:PATH="${{ matrix.config.cmake.qtprefixpath }}" \ + -D${{ matrix.config.cmake.qtdirkey }}:PATH="${{ matrix.config.cmake.qtdirvalue }}" - name: Build ( QSkinny ) shell: bash @@ -425,6 +426,7 @@ jobs: -G "${{ matrix.config.generators }}" \ -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ -DCMAKE_PREFIX_PATH:PATH="${{ matrix.config.cmake.qtprefixpath }}" \ + -D${{ matrix.config.cmake.qtdirkey }}:PATH="${{ matrix.config.cmake.qtdirvalue }}" \ -DQSkinny_DIR:PATH=$GITHUB_WORKSPACE/qskinny_install/lib/cmake/QSkinny - name: Build ( CMake Integration Test ) diff --git a/CMakeLists.txt b/CMakeLists.txt index a53aca91..1ca34ba3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,8 +10,8 @@ set(CMAKE_CXX_EXTENSIONS OFF) include(${CMAKE_SOURCE_DIR}/features/qskconfig.cmake) -find_package(Qt6 COMPONENTS Core QUIET) -if (NOT Qt6_FOUND) +find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core) +if(QT_VERSION_MAJOR VERSION_EQUAL "5") find_package(Qt5 5.15 REQUIRED COMPONENTS Core Gui OpenGL Quick Svg Widgets) find_package(Qt5 5.15 OPTIONAL_COMPONENTS QuickWidgets WebEngine WebEngineCore) message(WARNING "using QSkinny's 'qt_add_executable()'") @@ -22,34 +22,13 @@ if (NOT Qt6_FOUND) function(qt_add_library) add_library(${ARGV}) endfunction(qt_add_library) -else() +elseif(QT_VERSION_MAJOR VERSION_EQUAL "6") find_package(Qt6 REQUIRED COMPONENTS Core Gui OpenGL Quick QuickWidgets Svg Widgets) find_package(Qt6 OPTIONAL_COMPONENTS QuickWidgets WebEngineCore WebEngineQuick) +else() + message(FATAL_ERROR "Couldn't find any Qt version!") endif() -# find either Qt5 or Qt6 requred and optional components -#if(NOT "${Qt5_DIR}" STREQUAL "") -# find_package(Qt5 REQUIRED COMPONENTS Core Gui OpenGL Quick Svg Widgets) -# find_package(Qt5 OPTIONAL_COMPONENTS QuickWidgets WebEngine WebEngineCore) -# set(Qt Qt${Qt5_VERSION_MAJOR}) -# set(Qt_VERSION ${Qt5_VERSION}) -# set(Qt_VERSION_MAJOR ${Qt5_VERSION_MAJOR}) -# set(Qt_VERSION_MINOR ${Qt5_VERSION_MINOR}) -# set(Qt_VERSION_PATCH ${Qt5_VERSION_PATCH}) -#elseif(NOT "${Qt6_DIR}" STREQUAL "") -# string(REPLACE "/lib/cmake/Qt6" "" Qt6_PREFIX_DIR "${Qt6_DIR}") -# set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${Qt6_PREFIX_DIR}) -# find_package(Qt6 REQUIRED COMPONENTS Core Gui OpenGL Quick QuickWidgets Svg Widgets) -# find_package(Qt6 OPTIONAL_COMPONENTS QuickWidgets WebEngineCore WebEngineQuick) # check optional QuickWidgets Svg Widgets -# set(Qt Qt${Qt6_VERSION_MAJOR}) -# set(Qt_VERSION ${Qt6_VERSION}) -# set(Qt_VERSION_MAJOR ${Qt6_VERSION_MAJOR}) -# set(Qt_VERSION_MINOR ${Qt6_VERSION_MINOR}) -# set(Qt_VERSION_PATCH ${Qt6_VERSION_PATCH}) -#else() -# message(FATAL_ERROR "Neither Qt5_DIR nor Qt6_DIR defined!") -#endif() - # optional package hunspell if(NOT LINUX AND ENABLE_HUNSPELL) message(WARNING "Feature 'hunspell' only available for UNIX!") diff --git a/playground/CMakeLists.txt b/playground/CMakeLists.txt index 37a0cae7..de8abd04 100644 --- a/playground/CMakeLists.txt +++ b/playground/CMakeLists.txt @@ -6,7 +6,7 @@ add_subdirectory(inputpanel) add_subdirectory(images) add_subdirectory(shadows) -if (Qt_VERSION_MAJOR VERSION_EQUAL "6") +if (QT_VERSION_MAJOR VERSION_EQUAL "6") if(TARGET Qt::WebEngineCore) if(TARGET Qt::WebEngineQuick) add_subdirectory(webview) diff --git a/playground/webview/CMakeLists.txt b/playground/webview/CMakeLists.txt index 55f673a0..686c538c 100644 --- a/playground/webview/CMakeLists.txt +++ b/playground/webview/CMakeLists.txt @@ -12,7 +12,7 @@ target_link_libraries(${TARGET_NAME} qskinny qsktestsupport) -if (Qt_VERSION_MAJOR VERSION_GREATER "5") +if (QT_VERSION_MAJOR VERSION_GREATER "5") target_link_libraries(${TARGET_NAME} PRIVATE Qt::WebEngineQuick diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4ab964ad..ec44ccc9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -413,7 +413,7 @@ target_link_libraries(${TARGET_NAME} Qt::Quick Qt::QuickPrivate) -if (Qt_VERSION_MAJOR VERSION_GREATER "5") +if (QT_VERSION_MAJOR VERSION_GREATER "5") target_link_libraries(${TARGET_NAME} PUBLIC Qt::OpenGL