find_package( KPMcore 3.3 ) set( _partition_defs "" ) if ( KPMcore_FOUND ) find_package( Qt5 REQUIRED DBus ) # Needed for KPMCore find_package( KF5 REQUIRED I18n WidgetsAddons ) # Needed for KPMCore include_directories( ${KPMCORE_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/src/modules/partition ) if( KPMcore_VERSION VERSION_GREATER_EQUAL "4.0" ) list( APPEND _partition_defs WITH_KPMCORE4API ) # kpmcore 4 with new API elseif( KPMcore_VERSION VERSION_GREATER "3.3.70" ) message( FATAL_ERROR "KPMCore beta versions are not supported" ) endif() # The PartitionIterator is a small class, and it's easiest -- but also a # gross hack -- to just compile it again from the partition module tree. calamares_add_plugin( fsresizer TYPE job EXPORT_MACRO PLUGINDLLEXPORT_PRO SOURCES ResizeFSJob.cpp LINK_PRIVATE_LIBRARIES kpmcore calamares COMPILE_DEFINITIONS ${_partition_defs} SHARED_LIB ) if( ECM_FOUND AND BUILD_TESTING ) ecm_add_test( Tests.cpp TEST_NAME fsresizertest LINK_LIBRARIES ${CALAMARES_LIBRARIES} calamares calamares_job_fsresizer # From above ${YAMLCPP_LIBRARY} Qt5::Core Qt5::Test ) set_target_properties( fsresizertest PROPERTIES AUTOMOC TRUE ) target_include_directories( fsresizertest PRIVATE /usr/local/include ) target_compile_definitions( fsresizertest PRIVATE ${_partition_defs} ) endif() else() calamares_skip_module( "fsresizer (missing suitable KPMcore)" ) endif()