1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT("Tizen Bluetooth Framework" C)
4 SET(CMAKE_C_FLAGS "-O3 -Wall -Werror -DPLUGINDIR=\\\"/usr/lib/bluetooth-service/plugins\\\"")
8 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/)
10 INCLUDE(FindPkgConfig)
11 pkg_check_modules(${TEST} REQUIRED
17 FOREACH(flag ${${TEST}_CFLAGS})
18 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
21 SET(LIB_INSTALL_DIR "/usr/lib/")
22 SET(TEST_INSTALL_DIR "${LIB_INSTALL_DIR}bluetooth-frwk-test/")
23 SET(PLUGIN_INSTALL_DIR "${LIB_INSTALL_DIR}bluetooth-service/plugins/")
25 IF(platform STREQUAL "Mobile")
26 SET(MOBILE_FLAGS "mobile-flags")
27 pkg_check_modules(${MOBILE_FLAGS} REQUIRED
31 FOREACH(flag ${${MOBILE_FLAGS}_CFLAGS})
32 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
35 FOREACH(flag ${${MOBILE_FLAGS}_LDFLAGS})
36 SET(${TEST}_LDFLAGS "${${TEST}_LDFLAGS} ${flag}")
39 ADD_DEFINITIONS(-DMOBILE)
42 IF(platform STREQUAL "GEEK" OR platform STREQUAL "IVI")
43 SET(TIZEN_FLAGS "tizen-flags")
44 pkg_check_modules(${TIZEN_FLAGS} REQUIRED
50 FOREACH(flag ${${TIZEN_FLAGS}_CFLAGS})
51 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
54 FOREACH(flag ${${TIZEN_FLAGS}_LDFLAGS})
55 SET(${TEST}_LDFLAGS "${${TEST}_LDFLAGS} ${flag}")
58 ADD_DEFINITIONS(-DTIZEN)
63 SET(BLUETOOTH-SERVICE "bluetooth-service")
65 IF(platform STREQUAL "Mobile")
66 SET(SOURCES_BLUETOOTH_SERVICE
76 src/bluetooth_map_agent.c
83 SET(SOURCES_BLUETOOTH_SERVICE
98 ADD_EXECUTABLE(${BLUETOOTH-SERVICE} ${SOURCES_BLUETOOTH_SERVICE})
99 TARGET_LINK_LIBRARIES(${BLUETOOTH-SERVICE} ${${TEST}_LDFLAGS} -ldl)
100 SET_TARGET_PROPERTIES(${BLUETOOTH-SERVICE} PROPERTIES
101 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/src)
102 INSTALL(TARGETS ${BLUETOOTH-SERVICE} DESTINATION bin)
103 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/bluezlib.conf
104 DESTINATION /etc/dbus-1/system.d)
105 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/bluezobex.conf
106 DESTINATION /etc/dbus-1/system.d)
107 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/bluetooth-service.conf
108 DESTINATION /etc/dbus-1/system.d)
109 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/org.tizen.comms.service
110 DESTINATION share/dbus-1/system-services)
113 SET(BLUEZ-TEST "bluez-lib-test")
115 SET(SOURCES_BLUEZ_TEST
119 test/bluez-lib-test.c
122 ADD_EXECUTABLE(${BLUEZ-TEST} ${SOURCES_BLUEZ_TEST})
123 TARGET_LINK_LIBRARIES(${BLUEZ-TEST} ${${TEST}_LDFLAGS})
124 SET_TARGET_PROPERTIES(${BLUEZ-TEST} PROPERTIES
125 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/test)
126 INSTALL(TARGETS ${BLUEZ-TEST} DESTINATION ${TEST_INSTALL_DIR})
127 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/bluez-lib-test.conf
128 DESTINATION /etc/dbus-1/system.d)
131 SET(OBEX-TEST "obex-lib-test")
133 SET(SOURCES_OBEX_TEST
139 ADD_EXECUTABLE(${OBEX-TEST} ${SOURCES_OBEX_TEST})
140 TARGET_LINK_LIBRARIES(${OBEX-TEST} ${${TEST}_LDFLAGS})
141 SET_TARGET_PROPERTIES(${OBEX-TEST} PROPERTIES
142 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/test)
143 INSTALL(TARGETS ${OBEX-TEST} DESTINATION ${TEST_INSTALL_DIR})
146 SET(BT-SERVICE-TEST "bt-serivce-lib-test")
148 SET(SOURCES_BT_SERVICE_TEST
150 lib/bluetooth-service.c
151 test/bt-service-lib-test.c
154 ADD_EXECUTABLE(${BT-SERVICE-TEST} ${SOURCES_BT_SERVICE_TEST})
155 TARGET_LINK_LIBRARIES(${BT-SERVICE-TEST} ${${TEST}_LDFLAGS})
156 SET_TARGET_PROPERTIES(${BT-SERVICE-TEST} PROPERTIES
157 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/test)
158 INSTALL(TARGETS ${BT-SERVICE-TEST} DESTINATION ${TEST_INSTALL_DIR})
161 SET(CAPI-BLUETOOTH "capi-network-bluetooth")
163 SET(SOURCE_CAPI_BLUETOOTH
169 capi/bluetooth-obex.c
170 lib/bluetooth-service.c
173 ADD_LIBRARY(${CAPI-BLUETOOTH} SHARED ${SOURCE_CAPI_BLUETOOTH})
174 TARGET_LINK_LIBRARIES(${CAPI-BLUETOOTH} ${${TEST}_LDFALGS})
176 SET_TARGET_PROPERTIES(${CAPI-BLUETOOTH}
179 SOVERSION ${MAJORVER}
180 CLEAN_DIRECT_OUTPUT 1
181 LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/capi
184 INSTALL(FILES include/bluetooth.h DESTINATION include/network)
186 INSTALL(TARGETS ${CAPI-BLUETOOTH} DESTINATION ${LIB_INSTALL_DIR})
188 capi-network-bluetooth.pc.in
189 ${CMAKE_CURRENT_SOURCE_DIR}/${CAPI-BLUETOOTH}.pc
192 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${CAPI-BLUETOOTH}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
195 SET(BLUEZ-CAPI-TEST "bluez-capi-test")
197 SET(SOURCE_BLUEZ_CAPI_TEST
198 test/bluez-capi-test.c
201 ADD_EXECUTABLE(${BLUEZ-CAPI-TEST} ${SOURCE_BLUEZ_CAPI_TEST})
202 TARGET_LINK_LIBRARIES(${BLUEZ-CAPI-TEST} ${CAPI-BLUETOOTH} ${${TEST}_LDFLAGS})
203 SET_TARGET_PROPERTIES(${BLUEZ-CAPI-TEST} PROPERTIES
204 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/test)
206 IF(platform STREQUAL "GEEK")
207 ADD_DEFINITIONS("-DGEEK")
209 SET(PLUGIN_BLUETOOTH_MOBILE "bluetooth-geek")
211 SET(SOURCE_PLUGIN_BLUETOOTH_MOBILE
212 plugins/bluetooth-geek.c
213 plugins/brcm_patchram_plus.c
216 ADD_LIBRARY(${PLUGIN_BLUETOOTH_MOBILE} SHARED ${SOURCE_PLUGIN_BLUETOOTH_MOBILE})
217 TARGET_LINK_LIBRARIES(${PLUGIN_BLUETOOTH_MOBILE} ${CAPI-BLUETOOTH} ${${TEST}_LDFLAGS})
218 SET_TARGET_PROPERTIES(${PLUGIN_BLUETOOTH_MOBILE} PROPERTIES PREFIX "")
219 SET_TARGET_PROPERTIES(${PLUGIN_BLUETOOTH_MOBILE} PROPERTIES
220 LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/plugins)
221 INSTALL(TARGETS ${PLUGIN_BLUETOOTH_MOBILE} DESTINATION ${PLUGIN_INSTALL_DIR})
224 IF(platform STREQUAL "IVI")
226 SET(PLUGIN_BLUETOOTH_MOBILE "bluetooth-mobile")
228 SET(SOURCE_PLUGIN_BLUETOOTH_MOBILE
229 plugins/bluetooth-mobile.c
232 ADD_LIBRARY(${PLUGIN_BLUETOOTH_MOBILE} SHARED ${SOURCE_PLUGIN_BLUETOOTH_MOBILE})
233 TARGET_LINK_LIBRARIES(${PLUGIN_BLUETOOTH_MOBILE} ${${TEST}_LDFLAGS})
234 SET_TARGET_PROPERTIES(${PLUGIN_BLUETOOTH_MOBILE} PROPERTIES PREFIX "")
235 SET_TARGET_PROPERTIES(${PLUGIN_BLUETOOTH_MOBILE} PROPERTIES
236 LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/plugins)
238 INSTALL(TARGETS ${BLUEZ-CAPI-TEST} DESTINATION ${TEST_INSTALL_DIR})