tizen 2.3 release
[framework/connectivity/multirat.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 SET(fw_name "multirat")
3
4 PROJECT(${fw_name})
5
6 SET(CMAKE_INSTALL_PREFIX /usr)
7 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
8 SET(VERSION_MAJOR 0)
9 SET(VERSION "${VERSION_MAJOR}.1.0")
10
11 SET(INC_DIR include)
12 SET(CLIENT_INC_DIR client/include)
13 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include
14         ${CMAKE_SOURCE_DIR}/include
15         ${CMAKE_SOURCE_DIR}/client/include)
16
17 #SET(requires "dlog capi-base-common download-provider-interface")
18 #MESSAGE(STATUS "PACKAGES : ${requires}")
19 #SET(pc_requires "capi-base-common capi-appfw-application")
20
21 INCLUDE(FindPkgConfig)
22 pkg_check_modules(subpkgs REQUIRED
23         dlog
24         glib-2.0
25         dbus-1
26         vconf
27         dbus-glib-1
28         libcares
29         capi-network-connection
30         capi-network-wifi
31 )
32
33
34 FOREACH(flag ${subpkgs_CFLAGS})
35         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
36 ENDFOREACH(flag)
37
38
39 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}  -Wall")
40 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
41
42 IF("${ARCH}" STREQUAL "arm")
43     ADD_DEFINITIONS("-DTARGET")
44 ENDIF("${ARCH}" STREQUAL "arm")
45
46 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
47 ADD_DEFINITIONS("-DSLP_DEBUG")
48 ADD_DEFINITIONS("-DSB_LOG_SUPPORT")
49 #ADD_DEFINITIONS("-DSB_DETAIL_LOG_SUPPORT")
50 ADD_DEFINITIONS("-DTIZEN_UX_SUPPORT")
51 ADD_DEFINITIONS("-DTWO_CHUNK")
52
53 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib")
54
55 SET(SOURCES 
56                 client/src/smartbonding-client.c
57                 src/multirat_block_manager.c
58                 src/multirat_file_manager.c
59                 src/multirat_data_buffer.c
60                 src/multirat_file_buffer.c
61                 src/multirat_multisocket.c
62                 src/multirat_file_stream.c
63                 src/multirat_range_request_thread.c
64                 src/multirat_file_thread.c
65                 src/multirat_connection.c
66                 src/multirat_decode_http.c
67                 src/multirat_process.c
68                 src/multirat_watch_dog_thread.c
69                 src/multirat_watchthread.c
70                 src/multirat_poll_thread.c
71                 src/multirat_libapi.c
72                 src/multirat_conf.c)
73 MESSAGE(STATUS "SOURCES : ${SOURCES}")
74 ADD_LIBRARY(${fw_name} SHARED ${SOURCES})
75 #ADD_LIBRARY(${fw_name} STATIC ${SOURCES})
76
77
78 TARGET_LINK_LIBRARIES(${fw_name} ${subpkgs_LDFLAGS})
79 SET_TARGET_PROPERTIES(${fw_name} PROPERTIES VERSION ${VERSION})
80 SET_TARGET_PROPERTIES(${fw_name} PROPERTIES SOVERSION ${VERSION_MAJOR})
81
82 INSTALL(TARGETS ${fw_name} DESTINATION lib)
83 INSTALL(
84         DIRECTORY ${INC_DIR}/ DESTINATION include/multirat
85         FILES_MATCHING
86         PATTERN "${INC_DIR}/multirat_process.h"
87                 PATTERN "${INC_DIR}/multirat_SB_http.h"
88         PATTERN "${INC_DIR}/multirat_conf.h"
89                 PATTERN "${INC_DIR}/multirat_libapi.h"
90                 )
91 INSTALL(
92         DIRECTORY ${CLIENT_INC_DIR}/ DESTINATION include/multirat
93         FILES_MATCHING PATTERN "${CLIENT_INC_DIR}/smartbonding-client.h"
94         )
95
96 SET(PC_NAME ${fw_name})
97 SET(PC_REQUIRED ${pc_requires})
98 SET(PC_LDFLAGS -l${fw_name})
99 SET(PC_CFLAGS -I\${includedir}/system)
100
101 CONFIGURE_FILE(
102     multirat.pc.in
103     ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
104     @ONLY
105 )
106 #CONFIGURE_FILE(
107 #       LICENSE.APLv2
108 #    ${fw_name}
109 #    @ONLY
110 #)
111
112 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION lib/pkgconfig)
113 #INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name} DESTINATION share/license)
114