1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(bluetooth-ipsp-agent C CXX)
4 SET(SRCS bluetooth-ipsp-agent.c
5 ../include/bluetooth-agent-profile.c)
7 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
8 SET(CMAKE_BUILD_TYPE "Release")
9 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
11 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
13 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
14 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
17 capi-network-connection
18 capi-network-bluetooth
25 INCLUDE(FindPkgConfig)
26 pkg_check_modules(pkgs_ipsp_agent REQUIRED ${PKG_MODULES})
28 FOREACH(flag ${pkgs_ipsp_agent_CFLAGS})
29 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall")
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)
37 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
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)
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")
46 ADD_LIBRARY(ipsp-agent SHARED ${SRCS})
47 SET_TARGET_PROPERTIES(ipsp-agent
50 CLEAN_DIRECT_OUTPUT 1)
52 TARGET_LINK_LIBRARIES(ipsp-agent ${pkgs_ipsp_agent_LDFLAGS})
54 INSTALL(TARGETS ipsp-agent DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
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)
60 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bluetooth-ipsp-agent.conf DESTINATION /etc/dbus-1/system.d)
62 SET(PREFIX ${CMAKE_INSTALL_PREFIX})