653b4b65f01a9bddefbf0ba8cd43642277c28361
[platform/core/connectivity/bluetooth-agent.git] / map-agent / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(bluetooth-map-agent C CXX)
3
4 SET(SRCS bluetooth_map_agent.c bluetooth_map_sms.c bluetooth_map_email.c 
5                 map_bmessage.c ../include/bluetooth-agent-profile.c)
6
7 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
8
9 INCLUDE(FindPkgConfig)
10 pkg_check_modules(pkgs_map_agent
11                 REQUIRED
12                 dlog msg-service email-service tapi vconf gio-2.0
13                 capi-system-info)
14
15 FOREACH(flag ${pkgs_map_agent_CFLAGS})
16         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
17 ENDFOREACH(flag)
18
19 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
20
21 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
22 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_map_agent_LDFLAGS})
23
24 IF (BUILD_GTESTS)
25 # -fvisibility option should be "default" to call internal functions
26 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=default -fPIC -Werror -Wno-deprecated-declarations -fprofile-arcs -ftest-coverage")
27
28 ADD_LIBRARY(map-agent SHARED ${SRCS})
29 SET_TARGET_PROPERTIES(map-agent
30         PROPERTIES
31         SOVERSION 0.1.0
32         CLEAN_DIRECT_OUTPUT 1)
33
34 TARGET_LINK_LIBRARIES(map-agent ${pkgs_map_agent_LDFLAGS} -lgcov)
35
36 INSTALL(TARGETS map-agent DESTINATION lib COMPONENT RuntimeLibraries)
37 ENDIF (BUILD_GTESTS)
38
39 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
40 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.bluez.map_agent.service DESTINATION share/dbus-1/system-services)