diff --git a/CMakeLists.txt b/CMakeLists.txt index e2cb0162bd..0fbd5db3ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,7 @@ EFL_LIB(efl) EFL_LIB(emile) EFL_LIB(eet) EFL_LIB(ecore) +EFL_LIB(eldbus) EFL_OPTIONS_SUMMARY() diff --git a/cmake/config/eldbus.cmake b/cmake/config/eldbus.cmake new file mode 100644 index 0000000000..cb8eeaa5d5 --- /dev/null +++ b/cmake/config/eldbus.cmake @@ -0,0 +1 @@ +pkg_check_modules(DBUS dbus-1 REQUIRED) diff --git a/cmake/helpers/EflMacros.cmake b/cmake/helpers/EflMacros.cmake index 7699db348c..8b8711f522 100644 --- a/cmake/helpers/EflMacros.cmake +++ b/cmake/helpers/EflMacros.cmake @@ -810,6 +810,8 @@ define_property(TARGET PROPERTY EFL_EO_PUBLIC # - DEFINITIONS: target_compile_definitions() # - PUBLIC_EO_FILES: the eo files will be used to build that lib, and will be installed to the filesystem # - EO_FILES: the eo files will be used to build that lib but not installed. +# - COMPILE_FLAGS: extra CFLAGS to append. +# - LINK_FLAGS: extra LDFLAGS to append. # # Defines the following variables that can be used within the included files: # - EFL_LIB_CURRENT to ${Name} @@ -881,6 +883,8 @@ function(EFL_LIB _target) set(DEFINITIONS) set(PUBLIC_EO_FILES) set(EO_FILES) + set(COMPILE_FLAGS) + set(LINK_FLAGS) string(TOUPPER "${_target}" _target_uc) @@ -911,8 +915,8 @@ function(EFL_LIB _target) EFL_PKG_CONFIG_EVAL(${_target} "${PKG_CONFIG_REQUIRES_PRIVATE}" "${PKG_CONFIG_REQUIRES}") - set(__link_flags ${${_target}_PKG_CONFIG_REQUIRES_PRIVATE_LDFLAGS} ${${_target}_PKG_CONFIG_REQUIRES_LDFLAGS}) - set(__compile_flags ${${_target}_PKG_CONFIG_REQUIRES_PRIVATE_CFLAGS} ${${_target}_PKG_CONFIG_REQUIRES_CFLAGS} -DPACKAGE_DATA_DIR=\\"${CMAKE_INSTALL_FULL_DATADIR}/${_target}/\\") + set(__link_flags ${${_target}_PKG_CONFIG_REQUIRES_PRIVATE_LDFLAGS} ${${_target}_PKG_CONFIG_REQUIRES_LDFLAGS} ${LINK_FLAGS}) + set(__compile_flags ${${_target}_PKG_CONFIG_REQUIRES_PRIVATE_CFLAGS} ${${_target}_PKG_CONFIG_REQUIRES_CFLAGS} -DPACKAGE_DATA_DIR=\\"${CMAKE_INSTALL_FULL_DATADIR}/${_target}/\\" ${COMPILE_FLAGS}) set(_link_flags) foreach(_l ${__link_flags}) @@ -1031,6 +1035,8 @@ endfunction() # - LIBRARIES: results in target_link_libraries() # - DEFINITIONS: target_compile_definitions() # - INSTALL_DIR: defaults to bin. If empty, won't install. +# - COMPILE_FLAGS: extra CFLAGS to append. +# - LINK_FLAGS: extra LDFLAGS to append. # # NOTE: it's meant to be called by files included by EFL_LIB() or similar, # otherwise you need to prepare the environment yourself. @@ -1051,6 +1057,8 @@ function(EFL_BIN _binname) set(INSTALL_DIR bin) set(PKG_CONFIG_REQUIRES) set(PKG_CONFIG_REQUIRES_PRIVATE) + set(COMPILE_FLAGS) + set(LINK_FLAGS) if(_binname STREQUAL ${EFL_LIB_CURRENT}) set(_binsrcdir "${EFL_BIN_SOURCE_DIR}") @@ -1112,12 +1120,12 @@ function(EFL_BIN _binname) endif() set(_link_flags) - foreach(_l ${${_bintarget}_PKG_CONFIG_REQUIRES_PRIVATE_LDFLAGS}) + foreach(_l ${${_bintarget}_PKG_CONFIG_REQUIRES_PRIVATE_LDFLAGS} ${LINK_FLAGS}) set(_link_flags "${_link_flags} ${_l}") endforeach() set(_compile_flags) - foreach(_c ${${_bintarget}_PKG_CONFIG_REQUIRES_PRIVATE_CFLAGS}) + foreach(_c ${${_bintarget}_PKG_CONFIG_REQUIRES_PRIVATE_CFLAGS} ${COMPILE_FLAGS}) set(_compile_flags "${_compile_flags} ${_c}") endforeach() @@ -1147,6 +1155,8 @@ endfunction() # ${EFL_LIB_CURRENT}-modules # - LIBRARIES: results in target_link_libraries() # - DEFINITIONS: target_compile_definitions() +# - COMPILE_FLAGS: extra CFLAGS to append. +# - LINK_FLAGS: extra LDFLAGS to append. # # NOTE: it's meant to be called by files included by EFL_LIB() or similar, # otherwise you need to prepare the environment yourself. @@ -1170,6 +1180,8 @@ function(EFL_TEST _testname) set(DEFINITIONS) set(PKG_CONFIG_REQUIRES) set(PKG_CONFIG_REQUIRES_PRIVATE) + set(COMPILE_FLAGS) + set(LINK_FLAGS) if(_testname STREQUAL ${EFL_LIB_CURRENT}) set(_testsrcdir "${EFL_TESTS_SOURCE_DIR}") @@ -1236,12 +1248,12 @@ function(EFL_TEST _testname) endif() set(_link_flags) - foreach(_l ${${_testtarget}_PKG_CONFIG_REQUIRES_PRIVATE_LDFLAGS}) + foreach(_l ${${_testtarget}_PKG_CONFIG_REQUIRES_PRIVATE_LDFLAGS} ${LINK_FLAGS}) set(_link_flags "${_link_flags} ${_l}") endforeach() set(_compile_flags) - foreach(_c ${${_testtarget}_PKG_CONFIG_REQUIRES_PRIVATE_CFLAGS}) + foreach(_c ${${_testtarget}_PKG_CONFIG_REQUIRES_PRIVATE_CFLAGS} ${COMPILE_FLAGS}) set(_compile_flags "${_compile_flags} ${_c}") endforeach() @@ -1279,6 +1291,8 @@ endfunction() # - PKG_CONFIG_REQUIRES_PRIVATE: results in # ${Name}_PKG_CONFIG_REQUIRES_PRIVATE. Elements after 'OPTIONAL' # keyword are optional. +# - COMPILE_FLAGS: extra CFLAGS to append. +# - LINK_FLAGS: extra LDFLAGS to append. # # NOTE: since the file will be included it shouldn't mess with global variables! function(EFL_MODULE _modname) @@ -1314,6 +1328,8 @@ function(EFL_MODULE _modname) set(INSTALL_DIR ${_modoutdir}) set(PKG_CONFIG_REQUIRES) set(PKG_CONFIG_REQUIRES_PRIVATE) + set(COMPILE_FLAGS) + set(LINK_FLAGS) _EFL_INCLUDE_OR_DETECT("Module ${_modtarget}" ${_modsrcdir}) @@ -1358,12 +1374,12 @@ function(EFL_MODULE _modname) target_compile_definitions(${_modtarget} PRIVATE ${DEFINITIONS}) set(_link_flags) - foreach(_l ${${_modtarget}_PKG_CONFIG_REQUIRES_PRIVATE_LDFLAGS}) + foreach(_l ${${_modtarget}_PKG_CONFIG_REQUIRES_PRIVATE_LDFLAGS} ${LINK_FLAGS}) set(_link_flags "${_link_flags} ${_l}") endforeach() set(_compile_flags) - foreach(_c ${${_modtarget}_PKG_CONFIG_REQUIRES_PRIVATE_CFLAGS}) + foreach(_c ${${_modtarget}_PKG_CONFIG_REQUIRES_PRIVATE_CFLAGS} ${COMPILE_FLAGS}) set(_compile_flags "${_compile_flags} ${_c}") endforeach() diff --git a/src/bin/eldbus/CMakeLists.txt b/src/bin/eldbus/CMakeLists.txt new file mode 100644 index 0000000000..f83a09a310 --- /dev/null +++ b/src/bin/eldbus/CMakeLists.txt @@ -0,0 +1,15 @@ +set(OUTPUT_NAME eldbus-codegen) + +set(LIBRARIES + eina + ecore +) + +set(SOURCES + client.c + codegen.h + dbus.c + parser.c + source_client.c + utils.c +) diff --git a/src/lib/eldbus/CMakeLists.txt b/src/lib/eldbus/CMakeLists.txt new file mode 100644 index 0000000000..ecbea4cdb9 --- /dev/null +++ b/src/lib/eldbus/CMakeLists.txt @@ -0,0 +1,70 @@ +set(DESCRIPTION "D-Bus access from Ecore") + +set(PKG_CONFIG_REQUIRES_PRIVATE + dbus-1 +) + +set(LIBRARIES + eina + eo + efl + ecore +) + +set(PUBLIC_EO_FILES + eldbus_model_arguments.eo + eldbus_model_connection.eo + eldbus_model_method.eo + eldbus_model_object.eo + eldbus_model_proxy.eo + eldbus_model_signal.eo + eldbus_types.eot +) + +set(PUBLIC_HEADERS + Eldbus.h + eldbus_connection.h + eldbus_freedesktop.h + eldbus_introspection.h + eldbus_message.h + eldbus_message_eina_value.h + eldbus_message_helper.h + Eldbus_Model.h + eldbus_object.h + eldbus_pending.h + eldbus_proxy.h + eldbus_service.h + eldbus_signal_handler.h +) + +set(SOURCES + eldbus_core.c + eldbus_freedesktop.c + eldbus_introspection.c + eldbus_message.c + eldbus_message_from_eina_value.c + eldbus_message_helper.c + eldbus_message_to_eina_value.c + eldbus_model_arguments.c + eldbus_model_arguments_private.h + eldbus_model_connection.c + eldbus_model_connection_private.h + eldbus_model_method.c + eldbus_model_method_private.h + eldbus_model_object.c + eldbus_model_object_private.h + eldbus_model_private.h + eldbus_model_proxy.c + eldbus_model_proxy_private.h + eldbus_model_signal.c + eldbus_model_signal_private.h + eldbus_object.c + eldbus_pending.c + eldbus_private.h + eldbus_private_types.h + eldbus_proxy.c + eldbus_service.c + eldbus_signal_handler.c +) + +set(COMPILE_FLAGS "-include ${CMAKE_BINARY_DIR}/src/lib/efl/config.h") diff --git a/src/tests/eldbus/CMakeLists.txt b/src/tests/eldbus/CMakeLists.txt new file mode 100644 index 0000000000..df058f95aa --- /dev/null +++ b/src/tests/eldbus/CMakeLists.txt @@ -0,0 +1,20 @@ +set(SOURCES + eldbus_fake_server.c + eldbus_fake_server.h + eldbus_suite.c + eldbus_suite.h + eldbus_test_eldbus_init.c + eldbus_test_eldbus_model.c + eldbus_test_eldbus_model.h + eldbus_test_eldbus_model_connection.c + eldbus_test_eldbus_model_method.c + eldbus_test_eldbus_model_object.c + eldbus_test_eldbus_model_proxy.c + eldbus_test_eldbus_model_signal.c + eldbus_test_fake_server_eldbus_model_proxy.c +) + +set(LIBRARIES + ecore + eina +)