Remove the TIZEN_FEATURE_WIFI_DIRECT_ON_DEMAND build flag
[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 capi-system-info libtzplatform-config ${MDM_REQUIRED_PKGS})
6 FOREACH(flag ${pkgs_CFLAGS})
7         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
8 ENDFOREACH(flag)
9
10 INCLUDE_DIRECTORIES(
11         ${CMAKE_SOURCE_DIR}/include
12         ${CMAKE_SOURCE_DIR}/oem
13         )
14
15 IF(TIZEN_ENABLE_PRD)
16 INCLUDE_DIRECTORIES(
17         ${CMAKE_SOURCE_DIR}/prd/include
18         )
19 ENDIF(TIZEN_ENABLE_PRD)
20
21 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -g -Werror -fPIE")
22 SET(CMAKE_C_FLAGS_DEBUG "O0 -g -fPIE")
23 SET(CMAKE_C_FLAGS_RELEASE "O2 -fPIE")
24
25 SET(ARCH "${ARCHITECTURE}")
26
27 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
28 ADD_DEFINITIONS("-DUSE_DLOG")
29
30 IF(TIZEN_WLAN_BOARD_SPRD)
31         ADD_DEFINITIONS(-DTIZEN_WLAN_BOARD_SPRD)
32 ENDIF(TIZEN_WLAN_BOARD_SPRD)
33 IF(TIZEN_TETHERING_ENABLE)
34         ADD_DEFINITIONS(-DTIZEN_TETHERING_ENABLE)
35 ENDIF(TIZEN_TETHERING_ENABLE)
36 IF(TIZEN_FEATURE_IP_OVER_EAPOL)
37         ADD_DEFINITIONS(-DTIZEN_FEATURE_IP_OVER_EAPOL)
38 ENDIF(TIZEN_FEATURE_IP_OVER_EAPOL)
39
40 IF(TIZEN_ARCH_64)
41         ADD_DEFINITIONS(-DTIZEN_ARCH_64)
42 ENDIF(TIZEN_ARCH_64)
43
44 IF(TIZEN_PROFILE_COMMON)
45         ADD_DEFINITIONS(-DTIZEN_PROFILE_COMMON)
46 ENDIF(TIZEN_PROFILE_COMMON)
47
48 IF(TIZEN_PROFILE_MOBILE)
49         ADD_DEFINITIONS(-DTIZEN_PROFILE_MOBILE)
50 ENDIF(TIZEN_PROFILE_MOBILE)
51
52 IF(TIZEN_PROFILE_TV)
53         ADD_DEFINITIONS(-DTIZEN_PROFILE_TV)
54 ENDIF(TIZEN_PROFILE_TV)
55
56 IF(TIZEN_DEBUG_DBUS_VALUE)
57         ADD_DEFINITIONS(-DTIZEN_DEBUG_DBUS_VALUE)
58 ENDIF(TIZEN_DEBUG_DBUS_VALUE)
59
60 IF(TIZEN_ENABLE_PRD)
61         ADD_DEFINITIONS(-DTIZEN_ENABLE_PRD)
62 ENDIF(TIZEN_ENABLE_PRD)
63
64 SET(SRCS
65         ${CMAKE_SOURCE_DIR}/src/wifi-direct-manager.c
66         ${CMAKE_SOURCE_DIR}/src/wifi-direct-state.c
67         ${CMAKE_SOURCE_DIR}/src/wifi-direct-peer.c
68         ${CMAKE_SOURCE_DIR}/src/wifi-direct-group.c
69         ${CMAKE_SOURCE_DIR}/src/wifi-direct-session.c
70         ${CMAKE_SOURCE_DIR}/src/wifi-direct-event.c
71         ${CMAKE_SOURCE_DIR}/src/wifi-direct-service.c
72         ${CMAKE_SOURCE_DIR}/src/wifi-direct-asp.c
73         ${CMAKE_SOURCE_DIR}/src/wifi-direct-util.c
74         ${CMAKE_SOURCE_DIR}/src/wifi-direct-dbus.c
75         ${CMAKE_SOURCE_DIR}/src/wifi-direct-error.c
76         ${CMAKE_SOURCE_DIR}/src/wifi-direct-iface.c
77         ${CMAKE_SOURCE_DIR}/oem/wifi-direct-oem.c
78         )
79
80 IF(TIZEN_ENABLE_PRD)
81         SET(SRCS ${SRCS} ${CMAKE_SOURCE_DIR}/prd/src/wifi-direct-prd.c)
82 ENDIF(TIZEN_ENABLE_PRD)
83
84 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
85 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
86 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl)
87
88
89 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh.in ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh @ONLY)
90 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/dhcpd.conf.in ${CMAKE_SOURCE_DIR}/files/dhcpd.conf @ONLY)
91 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-manager.conf.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-manager.conf @ONLY)
92 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/p2p_supp.conf.in ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf @ONLY)
93 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/p2p_supp.sh.in ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh @ONLY)
94 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip.in ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip @ONLY)
95 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh @ONLY)
96 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh @ONLY)
97
98 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
99 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
100 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh DESTINATION ${BIN_DIR})
101 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh DESTINATION ${SBIN_DIR})
102 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/ccode.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
103 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh DESTINATION ${BIN_DIR})
104 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
105 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf DESTINATION ${TZ_SYS_ETC})
106 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
107 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-manager.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
108 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh DESTINATION ${BIN_DIR})
109
110 IF("${ARCH}" MATCHES "^arm.*|.*86.*")
111         ADD_SUBDIRECTORY(plugin/wpasupplicant/ctrl_iface_dbus)
112 ELSE()
113         ADD_SUBDIRECTORY(plugin/wpasupplicant/emul)
114 ENDIF()
115
116 IF(TIZEN_ENABLE_PRD)
117         IF("${ARCH}" MATCHES "^arm.*|.*86.*")
118                 ADD_SUBDIRECTORY(prd/plugin/wpasupplicant/ctrl_iface_dbus)
119         ENDIF()
120 ENDIF(TIZEN_ENABLE_PRD)