Use the macro in ECM to install kdeconnect plugins

This commit is contained in:
Aleix Pol 2016-06-01 05:16:40 +02:00
parent 5fcc0c9694
commit b099bdd723

View file

@ -3,33 +3,6 @@
# Thoroughly inspired in kdevplatform_add_plugin
function(kdeconnect_add_plugin plugin)
set(options )
set(oneValueArgs JSON)
set(multiValueArgs SOURCES)
cmake_parse_arguments(KC_ADD_PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
get_filename_component(json "${KC_ADD_PLUGIN_JSON}" REALPATH)
# ensure we recompile the corresponding object files when the json file changes
set(dependent_sources )
foreach(source ${KC_ADD_PLUGIN_SOURCES})
get_filename_component(source "${source}" REALPATH)
if(EXISTS "${source}")
file(STRINGS "${source}" match REGEX "K_PLUGIN_FACTORY_WITH_JSON")
if(match)
list(APPEND dependent_sources "${source}")
endif()
endif()
endforeach()
if(NOT dependent_sources)
# fallback to all sources - better safe than sorry...
set(dependent_sources ${KC_ADD_PLUGIN_SOURCES})
endif()
set_property(SOURCE ${dependent_sources} APPEND PROPERTY OBJECT_DEPENDS ${json})
add_library(${plugin} MODULE ${KC_ADD_PLUGIN_SOURCES})
set_property(TARGET ${plugin} APPEND PROPERTY AUTOGEN_TARGET_DEPENDS ${json})
install(TARGETS ${plugin} DESTINATION ${PLUGIN_INSTALL_DIR}/kdeconnect)
function(kdeconnect_add_plugin)
kcoreaddons_add_plugin(${ARGN} INSTALL_NAMESPACE kdeconnect)
endfunction()