tizen 2.4 release
[framework/appfw/aul-1.git] / delegator / CMakeLists.txt
1
2 cmake_minimum_required(VERSION 2.6)
3 #set(CMAKE_SKIP_BUILD_RPATH true)
4 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
5
6 ### Get required CFLAGS, LDFLAGS from pkg-config
7 include(FindPkgConfig)
8 pkg_check_modules(delegator_pkgs REQUIRED dbus-1 glib-2.0 dbus-glib-1 gio-2.0 gio-unix-2.0 dlog vasum security-server)
9
10 foreach(flag ${delegator_pkgs_CFLAGS})
11     set(delegator_pkgs_CFLAGS_str "${delegator_pkgs_CFLAGS_str} ${flag}")
12 endforeach()
13
14 ### Set current binary dir to be included (for generated *.h files)
15 include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
16
17 #GDBUS specific code
18 add_custom_command(OUTPUT delegator_client_gdbus_generated.c delegator_client_gdbus_generated.h
19             COMMAND gdbus-codegen --generate-c-code delegator_client_gdbus_generated
20             --interface-prefix delegator ${CMAKE_CURRENT_SOURCE_DIR}/delegator.xml
21             )
22
23 ### Build modules
24 add_executable(aul-delegator-server
25             delegator_client_gdbus_generated.c
26             delegator_server.c
27             )
28 set_target_properties(aul-delegator-server PROPERTIES COMPILE_FLAGS "${delegator_pkgs_CFLAGS_str} -fPIE")
29 target_link_libraries(aul-delegator-server bundle aul ${delegator_pkgs_LDFLAGS} "-pie")
30 add_dependencies(aul-delegator-server delegator_client_gdbus_generated.h)
31 add_dependencies(aul-delegator-server delegator_client_gdbus_generated.c)
32
33 add_library(aul-delegator-client STATIC
34             delegator_client_gdbus_generated.c
35             delegator_client.c
36             )
37 set_target_properties(aul-delegator-client PROPERTIES COMPILE_FLAGS "${delegator_pkgs_CFLAGS_str} ${CFLAGS} -fPIC")
38 target_link_libraries(aul-delegator-client bundle ${delegator_pkgs_LDFLAGS})
39 add_dependencies(aul-delegator-client delegator_client_gdbus_generated.h)
40 add_dependencies(aul-delegator-client delegator_client_gdbus_generated.c)
41
42 ### Create pc file
43 configure_file(org.tizen.aul.delegator.service.in org.tizen.aul.delegator.service @ONLY)
44
45 ## Install
46 INSTALL(TARGETS aul-delegator-client DESTINATION lib COMPONENT RuntimeLibraries)
47 INSTALL(TARGETS aul-delegator-server DESTINATION bin)
48 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.aul.delegator.service DESTINATION ${PREFIX}/share/dbus-1/system-services/)
49 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/aul-delegator-server.service DESTINATION ${PREFIX}/lib/systemd/system/)
50
51
52