Tizen 2.1 base
[platform/framework/native/telephony.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET (this_target osp-telephony)
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/telephony
15         /usr/include/telephony-client
16         /usr/include/network
17         /usr/include/osp
18         /usr/include/osp/app
19         /usr/include/osp/base
20         /usr/include/osp/io
21         /usr/include/osp/net
22         /usr/include/osp/security
23         )
24
25 SET (${this_target}_SOURCE_FILES
26   src/FTelCallInfo.cpp
27   src/FTelCallManager.cpp
28         src/FTelNetworkInfo.cpp
29         src/FTelNetworkManager.cpp
30         src/FTelNetworkStatus.cpp
31         src/FTelSimInfo.cpp
32         src/FTel_SimInfoImpl.cpp
33         src/FTel_NetworkInfoImpl.cpp
34         src/FTel_NetworkManagerImpl.cpp
35         src/FTel_NetworkStatusImpl.cpp
36         src/FTel_TelephonyIpcProxy.cpp
37         src/FTel_TelephonyIpcMessages.cpp
38         src/FTel_TelephonyUtility.cpp
39         src/FTel_CallInfoImpl.cpp
40   src/FTel_CallManagerImpl.cpp
41   src/FTel_NetworkManagerEvent.cpp
42   src/FTel_NetworkManagerEventArg.cpp
43   src/FTel_NetworkSettingEvent.cpp
44   src/FTel_NetworkSettingEventArg.cpp
45   src/FTel_NetworkManagerEvent.cpp
46   src/FTel_NetworkManagerEventArg.cpp
47   src/FTel_CallManagerEvent.cpp
48   src/FTel_CallManagerEventArg.cpp
49   src/FTel_CallForwardEvent.cpp
50   src/FTel_CallForwardEventArg.cpp    
51 )
52
53 SET(EXTRA_CFLAGS  "${EXTRA_CFLAGS} -Wall" )
54
55 ## SET C COMPILER FLAGS
56 SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
57
58 ## SET CPP COMPILER FLAGS
59 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
60 SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
61
62 ## Create Library
63 ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
64
65 ## SET DEPENDENCY FLAGS
66 ADD_DEPENDENCIES(${this_target} chromium osp-appfw)
67
68 ## SET LINKER FLAGS
69 SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
70
71 TARGET_LINK_LIBRARIES(${this_target} "-lchromium" )
72 TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw -losp-net" )
73 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-telephony-network-info" )
74 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-telephony-sim" )
75 TARGET_LINK_LIBRARIES(${this_target} "-lSLP-tapi" )
76 TARGET_LINK_LIBRARIES(${this_target} "-lcapi-network-connection" )
77 TARGET_LINK_LIBRARIES(${this_target} "-lpthread" )
78
79 SET_TARGET_PROPERTIES(${this_target} 
80         PROPERTIES 
81         VERSION ${FULLVER}
82         SOVERSION ${MAJORVER}
83         CLEAN_DIRECT_OUTPUT 1
84         )
85
86 ADD_CUSTOM_COMMAND(TARGET ${this_target}
87     POST_BUILD
88                 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} 
89                 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}
90                 COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
91     COMMENT "strip ${this_target}"
92                 )   
93
94 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp 
95                                 FILES_MATCHING PATTERN "*.so*" 
96                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
97                                                                                 GROUP_EXECUTE GROUP_READ
98                                                                                 WORLD_EXECUTE WORLD_READ)
99 INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug 
100                                 FILES_MATCHING PATTERN "*.so*" 
101                                 PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ                                          
102                                                                                 GROUP_EXECUTE GROUP_READ
103                                                                                 WORLD_EXECUTE WORLD_READ)
104
105 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
106 INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/inc/ DESTINATION include/osp/telephony FILES_MATCHING PATTERN "*.h")
107
108 # pkgconfig file
109 CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
110 INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)