Merged from Tizen2.2
[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_BluetoothDeviceEvent.cpp
36     src/FNetBt_BluetoothDeviceEventArg.cpp
37     src/FNetBt_BluetoothDeviceImpl.cpp
38     src/FNetBt_BluetoothGapSystemAdapter.cpp
39     src/FNetBt_BluetoothHealthEvent.cpp
40     src/FNetBt_BluetoothHealthEventArg.cpp
41     src/FNetBt_BluetoothHealthImpl.cpp
42     src/FNetBt_BluetoothHdpSystemAdapter.cpp
43     src/FNetBt_BluetoothIpcMessages.cpp
44     src/FNetBt_BluetoothIpcProxy.cpp
45     src/FNetBt_BluetoothManagerEvent.cpp
46     src/FNetBt_BluetoothManagerEventArg.cpp
47     src/FNetBt_BluetoothManagerImpl.cpp
48     src/FNetBt_BluetoothOppClientEvent.cpp
49     src/FNetBt_BluetoothOppClientEventArg.cpp
50     src/FNetBt_BluetoothOppClientImpl.cpp
51     src/FNetBt_BluetoothOppServerEvent.cpp
52     src/FNetBt_BluetoothOppServerEventArg.cpp
53     src/FNetBt_BluetoothOppServerImpl.cpp
54     src/FNetBt_BluetoothOppSystemAdapter.cpp
55     src/FNetBt_BluetoothSppAcceptorEvent.cpp
56     src/FNetBt_BluetoothSppAcceptorEventArg.cpp
57     src/FNetBt_BluetoothSppAcceptorImpl.cpp
58     src/FNetBt_BluetoothSppInitiatorEvent.cpp
59     src/FNetBt_BluetoothSppInitiatorEventArg.cpp
60     src/FNetBt_BluetoothSppInitiatorImpl.cpp
61     src/FNetBt_BluetoothSppSystemAdapter.cpp
62     )
63
64 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
65
66 ## SET C COMPILER FLAGS
67 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
68
69 ## SET CPP COMPILER FLAGS
70 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
71 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
72
73 ## Create Library
74 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
75
76 ## SET LINKER FLAGS
77 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
78
79 TARGET_LINK_LIBRARIES(${this_target} "-lchromium" )
80 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
81 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw -losp-net" )
82 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-network-bluetooth" )
83
84 SET_TARGET_PROPERTIES(${this_target} 
85         PROPERTIES 
86         VERSION ${FULLVER}
87         SOVERSION ${MAJORVER}
88         CLEAN_DIRECT_OUTPUT 1
89         )
90
91 ADD_CUSTOM_COMMAND(TARGET ${this_target}
92     POST_BUILD
93                 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} 
94                 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}
95                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
96                 COMMENT "strip ${this_target}"
97                 )   
98
99 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp 
100                                 FILES_MATCHING PATTERN "*.so*" 
101                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
102                                                                                 GROUP_EXECUTE GROUP_READ
103                                                                                 WORLD_EXECUTE WORLD_READ)
104 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
105                                 FILES_MATCHING PATTERN "*.so*" 
106                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
107                                                                                 GROUP_EXECUTE GROUP_READ
108                                                                                 WORLD_EXECUTE WORLD_READ)
109
110 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
111 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/net FILES_MATCHING PATTERN "*.h")
112
113 SET(PC_NAME ${this_target})
114 SET(VERSION ${FULLVER})
115 SET(PC_LDFLAGS -l${this_target})
116
117 # pkgconfig file
118 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
119 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)