Tizen 2.1 base
[platform/framework/native/bluetooth.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-bluetooth)
4
5 SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
6
7 INCLUDE_DIRECTORIES(
8         inc
9         src
10         src/inc
11         /usr/include/chromium
12         /usr/include/glib-2.0 
13   /usr/lib/glib-2.0/include
14         /usr/include/system
15         /usr/include/network
16         /usr/include/osp
17         /usr/include/osp/app
18         /usr/include/osp/base
19         /usr/include/osp/io     
20         /usr/include/osp/net
21         /usr/include/osp/security       
22         /usr/include/osp/system 
23 )
24
25 SET (${this_target}_SOURCE_FILES
26     src/FNetBtBluetoothDevice.cpp
27     src/FNetBtBluetoothManager.cpp
28     src/FNetBtBluetoothOppClient.cpp
29     src/FNetBtBluetoothOppServer.cpp
30     src/FNetBtBluetoothSppInitiator.cpp
31     src/FNetBtBluetoothSppAcceptor.cpp
32     src/FNetBtBluetoothSppInitiator.cpp
33     src/FNetBtBluetoothHealth.cpp
34     src/FNetBt_BluetoothAdapterUtility.cpp
35     src/FNetBt_BluetoothConnectionEvent.cpp
36     src/FNetBt_BluetoothConnectionEventArg.cpp
37     src/FNetBt_BluetoothDeviceEvent.cpp
38     src/FNetBt_BluetoothDeviceEventArg.cpp
39     src/FNetBt_BluetoothDeviceImpl.cpp
40     src/FNetBt_BluetoothGapSystemAdapter.cpp
41     src/FNetBt_BluetoothHealthEvent.cpp
42     src/FNetBt_BluetoothHealthEventArg.cpp
43     src/FNetBt_BluetoothHealthImpl.cpp
44     src/FNetBt_BluetoothHdpSystemAdapter.cpp
45     src/FNetBt_BluetoothIpcMessages.cpp
46     src/FNetBt_BluetoothIpcProxy.cpp
47     src/FNetBt_BluetoothManagerEvent.cpp
48     src/FNetBt_BluetoothManagerEventArg.cpp
49     src/FNetBt_BluetoothManagerImpl.cpp
50     src/FNetBt_BluetoothOppClientEvent.cpp
51     src/FNetBt_BluetoothOppClientEventArg.cpp
52     src/FNetBt_BluetoothOppClientImpl.cpp
53     src/FNetBt_BluetoothOppServerEvent.cpp
54     src/FNetBt_BluetoothOppServerEventArg.cpp
55     src/FNetBt_BluetoothOppServerImpl.cpp
56     src/FNetBt_BluetoothOppSystemAdapter.cpp
57     src/FNetBt_BluetoothSppAcceptorEvent.cpp
58     src/FNetBt_BluetoothSppAcceptorEventArg.cpp
59     src/FNetBt_BluetoothSppAcceptorImpl.cpp
60     src/FNetBt_BluetoothSppInitiatorEvent.cpp
61     src/FNetBt_BluetoothSppInitiatorEventArg.cpp
62     src/FNetBt_BluetoothSppInitiatorImpl.cpp
63     src/FNetBt_BluetoothSppSystemAdapter.cpp
64     )
65
66 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
67
68 ## SET C COMPILER FLAGS
69 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
70
71 ## SET CPP COMPILER FLAGS
72 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
73 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
74
75 ## Create Library
76 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
77
78 ## SET LINKER FLAGS
79 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
80
81 TARGET_LINK_LIBRARIES(${this_target} "-lchromium" )
82 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
83 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw -losp-net" )
84 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-network-bluetooth" )
85
86 SET_TARGET_PROPERTIES(${this_target} 
87         PROPERTIES 
88         VERSION ${FULLVER}
89         SOVERSION ${MAJORVER}
90         CLEAN_DIRECT_OUTPUT 1
91         )
92
93 ADD_CUSTOM_COMMAND(TARGET ${this_target}
94     POST_BUILD
95                 COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} 
96                 COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
97                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
98     COMMENT "strip ${this_target}"
99                 )   
100
101 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp 
102                                 FILES_MATCHING PATTERN "*.so*" 
103                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
104                                                                                 GROUP_EXECUTE GROUP_READ
105                                                                                 WORLD_EXECUTE WORLD_READ)
106 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
107                                 FILES_MATCHING PATTERN "*.so*" 
108                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
109                                                                                 GROUP_EXECUTE GROUP_READ
110                                                                                 WORLD_EXECUTE WORLD_READ)
111
112 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
113 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/net FILES_MATCHING PATTERN "*.h")
114
115 # pkgconfig file
116 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
117 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)