[Support Legacy Connection] Process legacy connection.
[platform/core/connectivity/wifi-direct-manager.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(wfd-manager C)
3
4 INCLUDE(FindPkgConfig)
5 pkg_check_modules(pkgs REQUIRED capi-network-wifi-direct glib-2.0 gio-2.0 gobject-2.0 dlog libnl-2.0 capi-appfw-application vconf aul libsystemd-login ${MDM_REQUIRED_PKGS})
6 FOREACH(flag ${pkgs_CFLAGS})
7         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
8 ENDFOREACH(flag)
9
10 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
11                                         ${CMAKE_SOURCE_DIR}/oem
12                                         )
13
14 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -g -Werror -fPIE")
15 SET(CMAKE_C_FLAGS_DEBUG "O0 -g -fPIE")
16 SET(CMAKE_C_FLAGS_RELEASE "O2 -fPIE")
17
18 SET(ARCH "${ARCHITECTURE}")
19
20 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
21 ADD_DEFINITIONS("-DUSE_DLOG")
22
23 IF(TIZEN_WLAN_BOARD_SPRD)
24         ADD_DEFINITIONS(-DTIZEN_WLAN_BOARD_SPRD)
25 ENDIF(TIZEN_WLAN_BOARD_SPRD)
26 IF(TIZEN_TETHERING_ENABLE)
27         ADD_DEFINITIONS(-DTIZEN_TETHERING_ENABLE)
28 ENDIF(TIZEN_TETHERING_ENABLE)
29 IF(TIZEN_FEATURE_DEFAULT_CONNECTION_AGENT)
30         ADD_DEFINITIONS(-DTIZEN_FEATURE_DEFAULT_CONNECTION_AGENT)
31 ENDIF(TIZEN_FEATURE_DEFAULT_CONNECTION_AGENT)
32 IF(TIZEN_FEATURE_SERVICE_DISCOVERY)
33         ADD_DEFINITIONS(-DTIZEN_FEATURE_SERVICE_DISCOVERY)
34 ENDIF(TIZEN_FEATURE_SERVICE_DISCOVERY)
35 IF(TIZEN_FEATURE_WIFI_DISPLAY)
36         ADD_DEFINITIONS(-DTIZEN_FEATURE_WIFI_DISPLAY)
37 ENDIF(TIZEN_FEATURE_WIFI_DISPLAY)
38 IF(TIZEN_WLAN_CONCURRENT_ENABLE)
39         ADD_DEFINITIONS(-DTIZEN_WLAN_CONCURRENT_ENABLE)
40 ENDIF(TIZEN_WLAN_CONCURRENT_ENABLE)
41 IF(TIZEN_FEATURE_IP_OVER_EAPOL)
42         ADD_DEFINITIONS(-DTIZEN_FEATURE_IP_OVER_EAPOL)
43 ENDIF(TIZEN_FEATURE_IP_OVER_EAPOL)
44
45 IF(TIZEN_ARCH_64)
46         ADD_DEFINITIONS(-DTIZEN_ARCH_64)
47 ENDIF(TIZEN_ARCH_64)
48
49 IF(TIZEN_COMMON)
50         ADD_DEFINITIONS(-DTIZEN_COMMON)
51 ENDIF(TIZEN_COMMON)
52
53 IF(TIZEN_FEATURE_ASP)
54         ADD_DEFINITIONS(-DTIZEN_FEATURE_ASP)
55 ENDIF(TIZEN_FEATURE_ASP)
56
57 IF(TIZEN_MOBILE)
58         ADD_DEFINITIONS(-DTIZEN_MOBILE)
59 ENDIF(TIZEN_MOBILE)
60
61 IF(TIZEN_TV)
62         ADD_DEFINITIONS(-DTIZEN_TV)
63 ENDIF(TIZEN_TV)
64
65 IF(TIZEN_WIFI_MODULE_BUNDLE)
66         ADD_DEFINITIONS(-DTIZEN_WIFI_MODULE_BUNDLE)
67 ENDIF(TIZEN_WIFI_MODULE_BUNDLE)
68
69 IF(CTRL_IFACE_DBUS)
70         ADD_DEFINITIONS(-DCTRL_IFACE_DBUS)
71 ENDIF(CTRL_IFACE_DBUS)
72 IF(TIZEN_DEBUG_DBUS_VALUE)
73         ADD_DEFINITIONS(-DTIZEN_DEBUG_DBUS_VALUE)
74 ENDIF(TIZEN_DEBUG_DBUS_VALUE)
75
76 SET(SRCS
77         ${CMAKE_SOURCE_DIR}/src/wifi-direct-manager.c
78         ${CMAKE_SOURCE_DIR}/src/wifi-direct-state.c
79         ${CMAKE_SOURCE_DIR}/src/wifi-direct-peer.c
80         ${CMAKE_SOURCE_DIR}/src/wifi-direct-group.c
81         ${CMAKE_SOURCE_DIR}/src/wifi-direct-session.c
82         ${CMAKE_SOURCE_DIR}/src/wifi-direct-event.c
83         ${CMAKE_SOURCE_DIR}/src/wifi-direct-util.c
84         ${CMAKE_SOURCE_DIR}/src/wifi-direct-dbus.c
85         ${CMAKE_SOURCE_DIR}/src/wifi-direct-error.c
86         ${CMAKE_SOURCE_DIR}/src/wifi-direct-iface.c
87         ${CMAKE_SOURCE_DIR}/oem/wifi-direct-oem.c
88         )
89
90 IF(TIZEN_FEATURE_SERVICE_DISCOVERY)
91         SET(SRCS ${SRCS} ${CMAKE_SOURCE_DIR}/src/wifi-direct-service.c)
92 ENDIF(TIZEN_FEATURE_SERVICE_DISCOVERY)
93
94 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
95 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
96 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl)
97
98
99 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh.in ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh @ONLY)
100 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/dhcpd.conf.in ${CMAKE_SOURCE_DIR}/files/dhcpd.conf @ONLY)
101 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/p2p_supp.conf.in ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf @ONLY)
102 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/p2p_supp.sh.in ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh @ONLY)
103 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip.in ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip @ONLY)
104 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh @ONLY)
105 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh @ONLY)
106
107 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
108 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
109 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh DESTINATION ${BIN_DIR})
110 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh DESTINATION ${SBIN_DIR})
111 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/ccode.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
112 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh DESTINATION ${BIN_DIR})
113 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
114 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf DESTINATION ${TZ_SYS_ETC})
115 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
116 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh DESTINATION ${BIN_DIR})
117
118 IF("${ARCH}" MATCHES "^arm.*|.*86.*")
119         IF(CTRL_IFACE_DBUS)
120                 ADD_SUBDIRECTORY(plugin/wpasupplicant/ctrl_iface_dbus)
121         ELSE(CTRL_IFACE_DBUS)
122                 ADD_SUBDIRECTORY(plugin/wpasupplicant/ctrl_iface_sock)
123         ENDIF(CTRL_IFACE_DBUS)
124 ELSE()
125         ADD_SUBDIRECTORY(plugin/wpasupplicant/emul)
126 ENDIF()