0a6ce71e7a79a6f7c070d2f58eed8ecd0d299562
[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
18 ##########################################################
19 # Define Execute File
20 ##########################################################
21
22 SET(MAIN-EXE "service-adaptor")
23 SET(MAIN-SRCS
24         ${CMAKE_SOURCE_DIR}/server/sal_auth.c
25         ${CMAKE_SOURCE_DIR}/server/sal_contact.c
26         ${CMAKE_SOURCE_DIR}/server/sal_storage.c
27         ${CMAKE_SOURCE_DIR}/server/sal_observer.c
28         ${CMAKE_SOURCE_DIR}/server/sal_main.c
29 )
30
31 INCLUDE_DIRECTORIES(
32         ${CMAKE_SOURCE_DIR}/include
33         ${CMAKE_SOURCE_DIR}/common
34         ${CMAKE_SOURCE_DIR}/common/ipc
35         ${CMAKE_SOURCE_DIR}/server
36         ${CMAKE_SOURCE_DIR}/adaptor/auth-adaptor
37         ${CMAKE_SOURCE_DIR}/adaptor/contact-adaptor
38         ${CMAKE_SOURCE_DIR}/adaptor/storage-adaptor
39 )
40
41 INCLUDE(FindPkgConfig)
42 pkg_check_modules(main_pkgs REQUIRED dlog glib-2.0 capi-base-common capi-appfw-app-manager capi-appfw-package-manager libsmack service-discovery service-federation)
43
44 FOREACH(flag ${main_pkgs_CFLAGS})
45         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
46 ENDFOREACH(flag)
47
48 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
49 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
50
51 ADD_DEFINITIONS("-DSERVICE_ADAPTOR_DEBUGGING")
52 ADD_DEFINITIONS("-D_SERVICE_ADAPTOR_IPC_SERVER")
53
54 ADD_EXECUTABLE(${MAIN-EXE} ${MAIN-SRCS})
55 TARGET_LINK_LIBRARIES(${MAIN-EXE} ${main_pkgs_LDFLAGS} sal-common auth-adaptor contact-adaptor storage-adaptor)
56 INSTALL(TARGETS ${MAIN-EXE} DESTINATION bin)