fix build error on building gcov mode
[platform/core/connectivity/bluetooth-agent.git] / ipsp-agent / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(bluetooth-ipsp-agent C CXX)
3
4 SET(SRCS bluetooth-ipsp-agent.c
5                 ../include/bluetooth-agent-profile.c)
6
7 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
8         SET(CMAKE_BUILD_TYPE "Release")
9 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
10
11 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
12
13 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
14 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
15
16 SET(PKG_MODULES
17         capi-network-connection
18         capi-network-bluetooth
19         bluetooth-api
20         gio-2.0
21         dlog
22         capi-system-info
23 )
24
25 INCLUDE(FindPkgConfig)
26 pkg_check_modules(pkgs_ipsp_agent REQUIRED ${PKG_MODULES})
27
28 FOREACH(flag ${pkgs_ipsp_agent_CFLAGS})
29         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall")
30 ENDFOREACH(flag)
31
32 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
33 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
34 SET(CMAKE_C_FLAGS_RELEASE "-O2")
35 SET(APP_SYSCONFDIR /opt/var/lib/bluetooth)
36
37 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
38
39 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
40 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_ipsp_agent_LDFLAGS} -L${CMAKE_CURRENT_SOURCE_DIR}/../bt-api -lbluetooth-api)
41
42 IF (BUILD_GTESTS)
43 # -fvisibility option should be "default" to call internal functions
44 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=default -Werror -Wno-deprecated-declarations")
45
46 ADD_LIBRARY(ipsp-agent SHARED ${SRCS})
47 SET_TARGET_PROPERTIES(ipsp-agent
48         PROPERTIES
49         SOVERSION 0.1.0
50         CLEAN_DIRECT_OUTPUT 1)
51
52 TARGET_LINK_LIBRARIES(ipsp-agent ${pkgs_ipsp_agent_LDFLAGS})
53
54 INSTALL(TARGETS ipsp-agent DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
55 ENDIF (BUILD_GTESTS)
56
57 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
58 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.bluez.ipsp_agent.service DESTINATION share/dbus-1/system-services)
59
60 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-ipsp-agent.conf DESTINATION /etc/dbus-1/system.d)
61
62 SET(PREFIX ${CMAKE_INSTALL_PREFIX})