From 661789825a8de9a644b58996652d54eebc9f10c1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 23 Dec 2017 10:07:42 -0500 Subject: [PATCH] [plasmalnf] Make the module optional - Check for presence of KDE Frameworks for Plasma & Package - Explain when module is skipped --- src/modules/plasmalnf/CMakeLists.txt | 55 +++++++++++++++++++--------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/src/modules/plasmalnf/CMakeLists.txt b/src/modules/plasmalnf/CMakeLists.txt index 8148a80e9..15897f98c 100644 --- a/src/modules/plasmalnf/CMakeLists.txt +++ b/src/modules/plasmalnf/CMakeLists.txt @@ -1,22 +1,41 @@ find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) -find_package( KF5 5.29 REQUIRED CoreAddons Plasma Package ) +# Requires a sufficiently recent Plasma framework, but also +# needs a runtime support component (which we don't test for). +set( lnf_ver 5.41 ) -calamares_add_plugin( plasmalnf - TYPE viewmodule - EXPORT_MACRO PLUGINDLLEXPORT_PRO - SOURCES - PlasmaLnfViewStep.cpp - PlasmaLnfPage.cpp - PlasmaLnfJob.cpp - ThemeWidget.cpp - RESOURCES - page_plasmalnf.qrc - UI - page_plasmalnf.ui - LINK_PRIVATE_LIBRARIES - calamaresui - KF5::Package - KF5::Plasma - SHARED_LIB +find_package( KF5Plasma ${lnf_ver} ) +find_package( KF5Package ${lnf_ver} ) +set_package_properties( + KF5Plasma PROPERTIES + PURPOSE "For Plasma Look-and-Feel selection" ) +set_package_properties( + KF5Package PROPERTIES + PURPOSE "For Plasma Look-and-Feel selection" +) + +if ( KF5Plasma_FOUND AND KF5Package_FOUND ) + find_package( KF5 ${lnf_ver} REQUIRED CoreAddons Plasma Package ) + + calamares_add_plugin( plasmalnf + TYPE viewmodule + EXPORT_MACRO PLUGINDLLEXPORT_PRO + SOURCES + PlasmaLnfViewStep.cpp + PlasmaLnfPage.cpp + PlasmaLnfJob.cpp + ThemeWidget.cpp + RESOURCES + page_plasmalnf.qrc + UI + page_plasmalnf.ui + LINK_PRIVATE_LIBRARIES + calamaresui + KF5::Package + KF5::Plasma + SHARED_LIB + ) +else() + calamares_skip_module( "plasmalnf (missing requirements)" ) +endif()