fix build error on building gcov mode
[platform/core/connectivity/bluetooth-agent.git] / pb-agent / CMakeLists.txt
index fa65204..63e0506 100644 (file)
@@ -1,30 +1,41 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(bluetooth-pb-agent C)
+PROJECT(bluetooth-pb-agent C CXX)
 
-SET(SRCS bluetooth_pb_agent.c bluetooth_pb_vcard.c)
+SET(SRCS bluetooth_pb_agent.c bluetooth_pb_vcard.c
+       ../include/bluetooth-agent-profile.c)
 
 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
 
 INCLUDE(FindPkgConfig)
 pkg_check_modules(pkgs_pb_agent
                REQUIRED
-               dbus-glib-1 dlog contacts-service2 tapi vconf)
+               gio-2.0 dlog contacts-service2 tapi vconf capi-media-image-util libexif
+               capi-system-info)
 
 FOREACH(flag ${pkgs_pb_agent_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
 ENDFOREACH(flag)
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-
-FIND_PROGRAM(DBUS_BINDING_TOOL NAMES dbus-binding-tool)
-EXEC_PROGRAM("${DBUS_BINDING_TOOL}"
-               ARGS "--prefix=bluetooth_pb \\
-               ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth_pb_agent.xml \\
-               --mode=glib-server \\
-               --output=${CMAKE_CURRENT_SOURCE_DIR}/bluetooth_pb_agent_glue.h")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror")
 
 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_pb_agent_LDFLAGS})
 
+IF (BUILD_GTESTS)
+       # -fvisibility option should be "default" to call internal functions
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=default -Werror -Wno-deprecated-declarations")
+
+       ADD_LIBRARY(pb-agent SHARED ${SRCS})
+       SET_TARGET_PROPERTIES(pb-agent
+               PROPERTIES
+               SOVERSION 0.1.0
+               CLEAN_DIRECT_OUTPUT 1)
+
+       TARGET_LINK_LIBRARIES(pb-agent ${pkgs_pb_agent_LDFLAGS})
+
+       INSTALL(TARGETS pb-agent DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+ENDIF (BUILD_GTESTS)
+
 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.bluez.pb_agent.service
                DESTINATION share/dbus-1/system-services)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth_pb_agent.conf DESTINATION /etc/dbus-1/system.d)