From c498aad87e42405ca25cb6f2f1b4068ed1862c27 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sun, 17 Feb 2019 23:51:03 +0100 Subject: [PATCH] Un-break optional Qt/KF detection And if we enable an option, make the necessary libraries REQUIRED. --- core/cmake/rules/RulesKDEFramework.cmake | 60 ++++-------------------- core/cmake/rules/RulesQtFramework.cmake | 51 +++++--------------- core/cmake/rules/RulesX11.cmake | 7 +-- 3 files changed, 20 insertions(+), 98 deletions(-) diff --git a/core/cmake/rules/RulesKDEFramework.cmake b/core/cmake/rules/RulesKDEFramework.cmake index 775ae32fec..ec438f9673 100644 --- a/core/cmake/rules/RulesKDEFramework.cmake +++ b/core/cmake/rules/RulesKDEFramework.cmake @@ -26,43 +26,18 @@ find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET ) if(ENABLE_KFILEMETADATASUPPORT) - - find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET - OPTIONAL_COMPONENTS - FileMetaData # For Plasma desktop file indexer support. - ) - + # For Plasma desktop file indexer support. + find_package(KF${QT_VERSION_MAJOR}FileMetaData ${KF${QT_VERSION_MAJOR}_MIN_VERSION} REQUIRED) endif() if(ENABLE_AKONADICONTACTSUPPORT) - + find_package(KF${QT_VERSION_MAJOR}Contacts ${KF${QT_VERSION_MAJOR}_MIN_VERSION} REQUIRED) # API for contacts/address book data. + find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} REQUIRED) if(Qt6_FOUND) - - find_package(KPim${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET - OPTIONAL_COMPONENTS - Akonadi - AkonadiContactCore # For KDE Mail Contacts support. - ) - find_package(KF${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET - OPTIONAL_COMPONENTS - Contacts # API for contacts/address book data. - ) - find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} QUIET) - find_package(KPim${QT_VERSION_MAJOR}AkonadiContactCore ${AKONADI_MIN_VERSION} QUIET) - + find_package(KPim${QT_VERSION_MAJOR}AkonadiContactCore ${AKONADI_MIN_VERSION} REQUIRED) else() - - find_package(KF${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET - OPTIONAL_COMPONENTS - Akonadi - AkonadiContact # For KDE Mail Contacts support. - Contacts # API for contacts/address book data. - ) - find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} QUIET) - find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} QUIET) - + find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} REQUIRED) # For KDE Mail Contacts support. endif() - endif() if(Qt6_FOUND) @@ -71,17 +46,11 @@ if(Qt6_FOUND) else() - find_package(KF${QT_VERSION_MAJOR} ${KSANE_MIN_VERSION} QUIET - OPTIONAL_COMPONENTS - Sane # For digital scanner support. - ) + find_package(KF${QT_VERSION_MAJOR}Sane ${KSANE_MIN_VERSION} QUIET) # For digital scanner support. endif() -find_package(KF${QT_VERSION_MAJOR} ${CALENDAR_MIN_VERSION} QUIET - OPTIONAL_COMPONENTS - CalendarCore # For Calendar tool. -) +find_package(KF${QT_VERSION_MAJOR}CalendarCore ${CALENDAR_MIN_VERSION} QUIET) # For Calendar tool. if ("${KF${QT_VERSION_MAJOR}CalendarCore_VERSION}" VERSION_GREATER 5.6.40) @@ -89,19 +58,6 @@ if ("${KF${QT_VERSION_MAJOR}CalendarCore_VERSION}" VERSION_GREATER 5.6.40) endif() -if(ENABLE_AKONADICONTACTSUPPORT AND - (NOT (KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND OR KPim${QT_VERSION_MAJOR}AkonadiContactCore_FOUND) OR NOT KF${QT_VERSION_MAJOR}Contacts_FOUND)) - - set(ENABLE_AKONADICONTACTSUPPORT OFF) - -endif() - -if(ENABLE_KFILEMETADATASUPPORT AND NOT KF${QT_VERSION_MAJOR}FileMetaData_FOUND) - - set(ENABLE_KFILEMETADATASUPPORT OFF) - -endif() - # Check if KIO have been compiled with KIOWidgets. digiKam only needs this one. if(ENABLE_KIO) diff --git a/core/cmake/rules/RulesQtFramework.cmake b/core/cmake/rules/RulesQtFramework.cmake index 9fa839c414..9267c6651e 100644 --- a/core/cmake/rules/RulesQtFramework.cmake +++ b/core/cmake/rules/RulesQtFramework.cmake @@ -18,38 +18,17 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED Svg ) -find_package(Qt${QT_VERSION_MAJOR} REQUIRED - NO_MODULE - COMPONENTS - WebEngineWidgets -) +find_package(Qt${QT_VERSION_MAJOR}WebEngineWidgets REQUIRED NO_MODULE) -find_package(Qt${QT_VERSION_MAJOR} - OPTIONAL_COMPONENTS - DBus - OpenGL -) +find_package(Qt${QT_VERSION_MAJOR}DBus) +find_package(Qt${QT_VERSION_MAJOR}OpenGL) if(Qt6_FOUND) - - find_package(Qt${QT_VERSION_MAJOR} REQUIRED - NO_MODULE COMPONENTS - StateMachine - SvgWidgets - ) - - find_package(Qt${QT_VERSION_MAJOR} - OPTIONAL_COMPONENTS - OpenGLWidgets - ) - + find_package(Qt${QT_VERSION_MAJOR}StateMachine REQUIRED NO_MODULE) + find_package(Qt${QT_VERSION_MAJOR}SvgWidgets REQUIRED NO_MODULE) + find_package(Qt${QT_VERSION_MAJOR}OpenGLWidgets) else() - - find_package(Qt${QT_VERSION_MAJOR} - OPTIONAL_COMPONENTS - XmlPatterns # For Rajce plugin - ) - + find_package(Qt${QT_VERSION_MAJOR}XmlPatterns) # For Rajce plugin endif() if(ENABLE_DBUS) @@ -65,17 +44,9 @@ endif() # Qt Dependencies For unit tests and CLI test tools if(BUILD_TESTING) + find_package(Qt${QT_VERSION_MAJOR}Test REQUIRED NO_MODULE) - find_package(Qt${QT_VERSION_MAJOR} REQUIRED - NO_MODULE - COMPONENTS - Test - ) - - find_package(Qt${QT_VERSION_MAJOR} - QUIET - OPTIONAL_COMPONENTS - Qml WebView # Optional, for 'sialis' O2 library test tool. - ) - + # Optional, for 'sialis' O2 library test tool. + find_package(Qt${QT_VERSION_MAJOR}Qml QUIET NO_MODULE) + find_package(Qt${QT_VERSION_MAJOR}WebView QUIET NO_MODULE) endif() diff --git a/core/cmake/rules/RulesX11.cmake b/core/cmake/rules/RulesX11.cmake index d7830f3923..4401a57c87 100644 --- a/core/cmake/rules/RulesX11.cmake +++ b/core/cmake/rules/RulesX11.cmake @@ -11,12 +11,7 @@ find_package(X11) if(X11_FOUND) if(NOT Qt6_FOUND) - - find_package(Qt5 ${QT_MIN_VERSION} NO_MODULE - COMPONENTS - X11Extras - ) - + find_package(Qt5X11Extras ${QT_MIN_VERSION} NO_MODULE) endif() set(HAVE_X11 TRUE) -- 2.45.2