[interactiveterminal] Make optional if requirements not met

This is orthogonal to the SKIP_* mechanism already documented
for avoiding modules. If the module is enabled, but its dependencies
are not present, don't bother building the module. This follows
e.g. plasmalnf as an "avoidably heavy dependency".

Related to a misplaced comment in ISSUE #956
This commit is contained in:
Adriaan de Groot 2018-05-26 07:06:46 -04:00
parent 41f70975ea
commit 50dea6ded3

View File

@ -1,27 +1,32 @@
find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE) find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE)
include(KDEInstallDirs) set( kf5_ver 5.41 )
include(GenerateExportHeader)
find_package( KF5 REQUIRED Service Parts ) find_package( KF5Service ${kf5_ver} )
find_package( KF5Parts ${kf5_ver} )
include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui set_package_properties(
${QTERMWIDGET_INCLUDE_DIR} ) KF5Service PROPERTIES
PURPOSE "For finding KDE services at runtime"
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules )
calamares_add_plugin( interactiveterminal
TYPE viewmodule
EXPORT_MACRO PLUGINDLLEXPORT_PRO
SOURCES
InteractiveTerminalViewStep.cpp
InteractiveTerminalPage.cpp
LINK_PRIVATE_LIBRARIES
calamaresui
LINK_LIBRARIES
KF5::Service
KF5::Parts
SHARED_LIB
) )
set_package_properties(
KF5Parts PROPERTIES
PURPOSE "For finding KDE parts at runtime"
)
if ( KF5Parts_FOUND AND KF5Service_FOUND )
calamares_add_plugin( interactiveterminal
TYPE viewmodule
EXPORT_MACRO PLUGINDLLEXPORT_PRO
SOURCES
InteractiveTerminalViewStep.cpp
InteractiveTerminalPage.cpp
LINK_PRIVATE_LIBRARIES
calamaresui
LINK_LIBRARIES
KF5::Service
KF5::Parts
SHARED_LIB
)
else()
calamares_skip_module( "interactiveterminal (missing requirements)" )
endif()