Tizen Directory Migration
[platform/core/convergence/service-adaptor.git] / server / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(sal-server)
3
4 SET(CMAKE_SKIP_BUILD_RPATH TRUE)
5
6 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
7         SET(CMAKE_BUILD_TYPE "Debug")
8 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
9
10 MESSAGE("")
11 MESSAGE(">>> current directory: ${CMAKE_CURRENT_SOURCE_DIR}")
12 MESSAGE(">>> Build type: ${CMAKE_BUILD_TYPE}")
13
14 #SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VISIBILITY} -fvisibility=hidden")
15 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--gc-sections -fPIE")
16
17 ADD_DEFINITIONS("-DAUTH_PLUGIN_PATH=\"${PROVIDER_PATH}/auth\"")
18 ADD_DEFINITIONS("-DSTORAGE_PLUGIN_PATH=\"${PROVIDER_PATH}/storage\"")
19 ADD_DEFINITIONS("-DCONTACT_PLUGIN_PATH=\"${PROVIDER_PATH}/contact\"")
20 ADD_DEFINITIONS("-DMESSAGE_PLUGIN_PATH=\"${PROVIDER_PATH}/message\"")
21 ADD_DEFINITIONS("-DPUSH_PLUGIN_PATH=\"${PROVIDER_PATH}/push\"")
22 ADD_DEFINITIONS("-DSHOP_PLUGIN_PATH=\"${PROVIDER_PATH}/shop\"")
23
24 ##########################################################
25 # Define Execute File
26 ##########################################################
27
28 SET(MAIN-EXE "service-adaptor-server")
29 FILE(GLOB MAIN-SRCS
30         ${CMAKE_SOURCE_DIR}/server/src/*.c
31         ${CMAKE_SOURCE_DIR}/server/src/dbus/*.c
32         ${CMAKE_SOURCE_DIR}/server/src/util/*.c
33 )
34
35 INCLUDE_DIRECTORIES(
36         ${CMAKE_SOURCE_DIR}/common/plugin_config
37
38         ${CMAKE_SOURCE_DIR}/adaptor/auth-adaptor
39         ${CMAKE_SOURCE_DIR}/adaptor/contact-adaptor
40         ${CMAKE_SOURCE_DIR}/adaptor/storage-adaptor
41         ${CMAKE_SOURCE_DIR}/adaptor/message-adaptor
42         ${CMAKE_SOURCE_DIR}/adaptor/push-adaptor
43         ${CMAKE_SOURCE_DIR}/adaptor/shop-adaptor
44
45         ${CMAKE_SOURCE_DIR}/server/inc
46         ${CMAKE_SOURCE_DIR}/server/inc/dbus
47         ${CMAKE_SOURCE_DIR}/server/inc/util
48 )
49
50 INCLUDE(FindPkgConfig)
51 pkg_check_modules(main_pkgs REQUIRED
52         glib-2.0
53         gobject-2.0
54         gio-2.0
55         gthread-2.0
56         dlog
57         bundle
58         capi-base-common
59         capi-appfw-application
60         capi-appfw-app-manager
61         capi-appfw-package-manager
62         cynara-client
63         cynara-session
64         cynara-creds-gdbus
65         libtzplatform-config
66 )
67
68 FOREACH(flag ${main_pkgs_CFLAGS})
69         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
70 ENDFOREACH(flag)
71
72 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -std=gnu99")
73 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
74
75 ADD_DEFINITIONS("-DSERVICE_ADAPTOR_DEBUGGING")
76 ADD_DEFINITIONS("-D_SERVICE_ADAPTOR_IPC_SERVER")
77
78 ADD_EXECUTABLE(${MAIN-EXE} ${MAIN-SRCS})
79 TARGET_LINK_LIBRARIES(${MAIN-EXE} ${main_pkgs_LDFLAGS} plugin-config auth-adaptor contact-adaptor storage-adaptor message-adaptor push-adaptor shop-adaptor)
80 INSTALL(TARGETS ${MAIN-EXE} DESTINATION bin)
81
82 SET(SAL-SERVER-HEADERS
83         ${CMAKE_SOURCE_DIR}/server/inc/dbus/dbus-server.h
84         ${CMAKE_SOURCE_DIR}/server/inc/service-adaptor.h
85 )
86
87 INSTALL(FILES ${SAL-SERVER-HEADERS} DESTINATION include/service-adaptor)