CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(bluetooth-ag-agent C CXX) SET(SRCS bluetooth-ag-agent.c bluetooth-ag-handler.c bluetooth-ag-manager.c ../include/bluetooth-agent-profile.c) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) SET(PKG_MODULES dlog vconf appsvc contacts-service2 tapi capi-appfw-application aul capi-system-info dbus-1 glib-2.0 gio-2.0 gio-unix-2.0 ) INCLUDE(FindPkgConfig) pkg_check_modules(pkgs_ag_agent REQUIRED ${PKG_MODULES}) FOREACH(flag ${pkgs_ag_agent_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC -Wall -Werror") SET(APP_SYSCONFDIR /var/lib/bluetooth) ADD_DEFINITIONS("-DAPP_SYSCONFDIR=\"${APP_SYSCONFDIR}\"") ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_ag_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(ag-agent SHARED ${SRCS}) SET_TARGET_PROPERTIES(ag-agent PROPERTIES SOVERSION 0.1.0 CLEAN_DIRECT_OUTPUT 1) TARGET_LINK_LIBRARIES(ag-agent ${pkgs_ag_agent_LDFLAGS}) INSTALL(TARGETS ag-agent DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries) ENDIF (BUILD_GTESTS) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.bluez.ag_agent.service DESTINATION share/dbus-1/system-services) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/voice-recognition-blacklist DESTINATION /var/lib/bluetooth/) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-ag-agent.conf.in ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-ag-agent.conf) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-ag-agent.conf DESTINATION /etc/dbus-1/system.d)