Fix bugs detected by static analyzer
[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_TETHERING_ENABLE)
31         ADD_DEFINITIONS(-DTIZEN_TETHERING_ENABLE)
32 ENDIF(TIZEN_TETHERING_ENABLE)
33
34 IF(TIZEN_ARCH_64)
35         ADD_DEFINITIONS(-DTIZEN_ARCH_64)
36 ENDIF(TIZEN_ARCH_64)
37
38 IF(TIZEN_DEBUG_DBUS_VALUE)
39         ADD_DEFINITIONS(-DTIZEN_DEBUG_DBUS_VALUE)
40 ENDIF(TIZEN_DEBUG_DBUS_VALUE)
41
42 SET(SRCS
43         ${CMAKE_SOURCE_DIR}/src/wifi-direct-manager.c
44         ${CMAKE_SOURCE_DIR}/src/wifi-direct-state.c
45         ${CMAKE_SOURCE_DIR}/src/wifi-direct-peer.c
46         ${CMAKE_SOURCE_DIR}/src/wifi-direct-group.c
47         ${CMAKE_SOURCE_DIR}/src/wifi-direct-session.c
48         ${CMAKE_SOURCE_DIR}/src/wifi-direct-event.c
49         ${CMAKE_SOURCE_DIR}/src/wifi-direct-service.c
50         ${CMAKE_SOURCE_DIR}/src/wifi-direct-asp.c
51         ${CMAKE_SOURCE_DIR}/src/wifi-direct-util.c
52         ${CMAKE_SOURCE_DIR}/src/wifi-direct-dbus.c
53         ${CMAKE_SOURCE_DIR}/src/wifi-direct-error.c
54         ${CMAKE_SOURCE_DIR}/src/wifi-direct-iface.c
55         ${CMAKE_SOURCE_DIR}/oem/wifi-direct-oem.c
56         )
57
58 IF(TIZEN_ENABLE_PRD)
59         SET(SRCS ${SRCS} ${CMAKE_SOURCE_DIR}/prd/src/wifi-direct-prd.c)
60 ENDIF(TIZEN_ENABLE_PRD)
61
62 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
63 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
64 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl)
65
66
67 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh.in ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh @ONLY)
68 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/dhcpd.conf.in ${CMAKE_SOURCE_DIR}/files/dhcpd.conf @ONLY)
69 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-manager.conf.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-manager.conf @ONLY)
70 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/p2p_supp.conf.in ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf @ONLY)
71 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/p2p_supp.sh.in ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh @ONLY)
72 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip.in ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip @ONLY)
73 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh @ONLY)
74 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh @ONLY)
75
76 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
77 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
78 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh DESTINATION ${BIN_DIR})
79 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh DESTINATION ${SBIN_DIR})
80 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/ccode.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
81 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh DESTINATION ${BIN_DIR})
82 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
83 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf DESTINATION ${TZ_SYS_ETC})
84 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
85 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-manager.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
86 INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh DESTINATION ${BIN_DIR})
87
88 IF("${ARCH}" MATCHES "^arm.*|.*86.*")
89         ADD_SUBDIRECTORY(plugin/wpasupplicant/ctrl_iface_dbus)
90 ELSE()
91         ADD_SUBDIRECTORY(plugin/wpasupplicant/emul)
92 ENDIF()
93
94 IF(TIZEN_ENABLE_PRD)
95         IF("${ARCH}" MATCHES "^arm.*|.*86.*")
96                 ADD_SUBDIRECTORY(prd/plugin/wpasupplicant/ctrl_iface_dbus)
97         ENDIF()
98 ENDIF(TIZEN_ENABLE_PRD)