X-Git-Url: http://review.tizen.org/git/?p=sdk%2Ftarget%2Fsdbd.git;a=blobdiff_plain;f=CMakeLists.txt;h=5d376e19e31b7fdff0ebb4506fe3f896070fe21d;hp=b839a1022fcfdd744b18eeba00bb232fd6d9a4a2;hb=refs%2Fheads%2Ftizen;hpb=7ada79938c7f386326c48b40f393d9ce2a3dfdc7 diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100644 new mode 100755 index b839a10..099b54f --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,6 @@ SET(SDBD_SRCS src/socket_network_client.c src/sdktools.c src/strutils.c - src/init.c src/commandline_sdbd.c src/usb_linux_client.c src/usb_funcfs_client.c @@ -54,10 +53,49 @@ SET(SDBD_SRCS src/default_plugin_main.c src/default_plugin_event.c src/default_plugin_appcmd.c + src/default_plugin_shellcmd.c src/hashtable.c src/plugin.c src/plugin_encrypt.c + src/descs_strings.c + src/sdbd.c ) + +SET(SDBD_SERVICE_SRCS + src/sdb.c + src/fdevent.c + src/transport.c + src/transport_local.c + src/transport_usb.c + src/sockets.c + src/file_sync_service.c + src/usb_linux_client.c + src/utils.c + src/socket_inaddr_any_server.c + src/socket_local_client.c + src/socket_local_server.c + src/socket_loopback_client.c + src/socket_loopback_server.c + src/socket_network_client.c + src/sdktools.c + src/strutils.c + src/commandline_sdbd.c + src/usb_linux_client.c + src/usb_funcfs_client.c + src/default_plugin_auth.c + src/default_plugin_basic.c + src/default_plugin_main.c + src/default_plugin_event.c + src/default_plugin_appcmd.c + src/default_plugin_shellcmd.c + src/hashtable.c + src/plugin.c + src/plugin_encrypt.c + src/descs_strings.c + src/services.c + src/sdbd_service.c +) + SET(SDBD_SUBS src/subprocess.c ) @@ -67,6 +105,7 @@ include(FindPkgConfig) pkg_check_modules(pkgs REQUIRED libtzplatform-config capi-system-info + capi-system-device vconf glib-2.0 gio-2.0 @@ -98,11 +137,21 @@ IF(WEARABLE_PROFILE STREQUAL on) ADD_DEFINITIONS("-D_WEARABLE") ENDIF() +# Get systemd +pkg_check_modules(SYSTEMD REQUIRED libsystemd) +foreach(flag ${SYSTEMD_CFLAGS}) + set(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +endforeach(flag) + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") + find_package(Threads REQUIRED) ADD_EXECUTABLE(sdbd ${SDBD_SRCS}) ADD_EXECUTABLE(sdbd-user ${SDBD_SUBS}) -TARGET_LINK_LIBRARIES(sdbd -pie -lsmack -lresolv -ldl ${CMAKE_THREAD_LIBS_INIT} ${pkgs_LDFLAGS}) +ADD_EXECUTABLE(sdbd-service ${SDBD_SERVICE_SRCS}) +TARGET_LINK_LIBRARIES(sdbd -pie -lsmack -lresolv -ldl ${CMAKE_THREAD_LIBS_INIT} ${pkgs_LDFLAGS} ${SYSTEMD_LDFLAGS}) +TARGET_LINK_LIBRARIES(sdbd-service -pie -lsmack -lresolv -ldl ${CMAKE_THREAD_LIBS_INIT} ${pkgs_LDFLAGS} ${SYSTEMD_LDFLAGS}) TARGET_LINK_LIBRARIES(sdbd-user -pie ${CMAKE_THREAD_LIBS_INIT} ${pkgs_LDFLAGS}) set_property( @@ -121,6 +170,23 @@ set_property( HAVE_FORKEXEC ) +set_property( + TARGET sdbd-service + PROPERTY COMPILE_DEFINITIONS + SDB_HOST=0 + _DROP_PRIVILEGE + _FILE_OFFSET_BITS=64 +) + +set_property( + TARGET sdbd-service + APPEND PROPERTY COMPILE_DEFINITIONS + _XOPEN_SOURCE + _GNU_SOURCE + HAVE_FORKEXEC +) + + if(USE_FUNCTION_FS) set_property( TARGET sdbd @@ -129,9 +195,19 @@ if(USE_FUNCTION_FS) ) endif() -install(TARGETS sdbd sdbd-user DESTINATION /usr/sbin) +CONFIGURE_FILE(packaging/sdbd.pc.in packaging/sdbd.pc @ONLY) +install(TARGETS sdbd sdbd-user sdbd-service DESTINATION /usr/sbin) install(FILES script/sdbd DESTINATION /etc/init.d) +# Extract descriptors and strings for systemd socket activation +add_executable(extract_descs_strings src/extract_descs_strings.c src/descs_strings.c) +add_custom_command(OUTPUT descs strs + COMMAND ./extract_descs_strings + DEPENDS extract_descs_strings) +add_custom_target(descs_strings ALL DEPENDS descs strs) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/descs DESTINATION /etc/sdbd) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/strs DESTINATION /etc/sdbd) # Optionally build unit tests binary -- could be helpful during further development if(BUILD_UNIT_TESTS)