1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(bluetooth-hf-agent C CXX)
4 SET(SRCS bluetooth-hf-agent.c
5 ../include/bluetooth-agent-profile.c)
7 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
10 pkg_check_modules(pkgs_hf_agent
12 dlog aul bluetooth-api alarm-service capi-appfw-app-manager
13 glib-2.0 gio-2.0 gio-unix-2.0 capi-system-device vconf
14 capi-system-info capi-media-audio-io)
16 FOREACH(flag ${pkgs_hf_agent_CFLAGS})
17 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
20 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wall -Werror")
21 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
23 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
24 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_hf_agent_LDFLAGS})
27 #-fvisibility option should be "default" to call internal functions
28 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=default -Werror -Wno-deprecated-declarations")
30 ADD_LIBRARY(hf-agent SHARED ${SRCS})
31 SET_TARGET_PROPERTIES(hf-agent
34 CLEAN_DIRECT_OUTPUT 1)
36 TARGET_LINK_LIBRARIES(hf-agent ${pkgs_hf_agent_LDFLAGS})
38 INSTALL(TARGETS hf-agent DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
41 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
42 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.bluez.hf_agent.service
43 DESTINATION share/dbus-1/system-services)
45 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-hf-agent.conf.in ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-hf-agent.conf)
46 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-hf-agent.conf DESTINATION /etc/dbus-1/system.d)