include (LibAddBinding) if (DEPENDENCY_PHASE) find_package (DBus QUIET) if (NOT DBUS_FOUND) remove_plugin (dbusrecv "dbus package not found") endif () endif () add_plugin ( dbusrecv SOURCES dbusrecv.h dbusrecv.c receivemessage.c OBJECT_SOURCES $ INCLUDE_DIRECTORIES ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR} LINK_ELEKTRA elektra-io elektra-invoke LINK_LIBRARIES ${DBUS_LIBRARIES} COMPONENT libelektra${SO_VERSION}-dbus) set (NOT_INCLUDED "") plugin_check_if_included ("${PLUGIN_SHORT_NAME}") if (DEPENDENCY_PHASE AND NOT NOT_INCLUDED) if (BUILD_SHARED) # ~~~ # target_compile_options(elektra-dbusrecv PRIVATE "-fPIC") # set_property (TARGET ${ADAPTER_OBJECT} PROPERTY CMAKE_POSITION_INDEPENDENT_CODE ON) # ~~~ endif () # ~~~ # if (BUILD_FULL OR BUILD_STATIC) # # endif () # ~~~ endif () if (ADDTESTING_PHASE) # the test requires an IO binding; using io_uv for now check_binding_was_added ("io_uv" IS_INCLUDED) if (BUILD_TESTING AND IS_INCLUDED) find_package (libuv QUIET) if (BUILD_FULL OR BUILD_STATIC) set (STATIC_LIBRARIES ${libuv_LIBRARIES}) # libuv is present; otherwise io_uv bindings would not be added endif () add_plugintest ( dbusrecv TEST_LINK_LIBRARIES ${STATIC_LIBRARIES} TEST_LINK_ELEKTRA elektra-io-uv INCLUDE_SYSTEM_DIRECTORIES ${libuv_INCLUDE_DIRS} COMPONENT libelektra${SO_VERSION}-dbus) # add sources manually because add_plugintest does not support generator expressions for additional source files if (BUILD_FULL OR BUILD_STATIC) # add sources for elektra-io-uv for static and full builds target_sources (testmod_dbusrecv PRIVATE $) endif () if (libuv_VERSION VERSION_LESS "1.0") target_compile_definitions (testmod_dbusrecv PRIVATE "HAVE_LIBUV0") else () target_compile_definitions (testmod_dbusrecv PRIVATE "HAVE_LIBUV1") endif () else () message (WARNING "io_uv bindings are required for testing, test deactivated") endif () endif ()