Use the macro in ECM to install kdeconnect plugins
This commit is contained in:
parent
5fcc0c9694
commit
b099bdd723
1 changed files with 2 additions and 29 deletions
|
@ -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()
|
||||
|
|
Loading…
Reference in a new issue