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