+# Copyright (c) 2014-2015 Samsung Electronics Co., Ltd All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# @file CMakeLists.txt
+#
+
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(wfd-manager C)
+PROJECT(wifi-direct-manager C CXX)
INCLUDE(FindPkgConfig)
-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})
-FOREACH(flag ${pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-INCLUDE_DIRECTORIES(
- ${CMAKE_SOURCE_DIR}/include
- ${CMAKE_SOURCE_DIR}/oem
- )
-
-IF(TIZEN_ENABLE_PRD)
-INCLUDE_DIRECTORIES(
- ${CMAKE_SOURCE_DIR}/prd/include
- )
-ENDIF(TIZEN_ENABLE_PRD)
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -g -Werror -fPIE")
-SET(CMAKE_C_FLAGS_DEBUG "O0 -g -fPIE")
-SET(CMAKE_C_FLAGS_RELEASE "O2 -fPIE")
+SET(DAEMON "wfd-manager")
+SET(PLUGIN "wifi-direct-plugin-wpasupplicant")
SET(ARCH "${ARCHITECTURE}")
-
-ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
ADD_DEFINITIONS("-DUSE_DLOG")
-
-IF(TIZEN_WLAN_BOARD_SPRD)
- ADD_DEFINITIONS(-DTIZEN_WLAN_BOARD_SPRD)
-ENDIF(TIZEN_WLAN_BOARD_SPRD)
-IF(TIZEN_TETHERING_ENABLE)
- ADD_DEFINITIONS(-DTIZEN_TETHERING_ENABLE)
-ENDIF(TIZEN_TETHERING_ENABLE)
-IF(TIZEN_FEATURE_DEFAULT_CONNECTION_AGENT)
- ADD_DEFINITIONS(-DTIZEN_FEATURE_DEFAULT_CONNECTION_AGENT)
-ENDIF(TIZEN_FEATURE_DEFAULT_CONNECTION_AGENT)
-IF(TIZEN_FEATURE_SERVICE_DISCOVERY)
- ADD_DEFINITIONS(-DTIZEN_FEATURE_SERVICE_DISCOVERY)
-ENDIF(TIZEN_FEATURE_SERVICE_DISCOVERY)
-IF(TIZEN_FEATURE_IP_OVER_EAPOL)
- ADD_DEFINITIONS(-DTIZEN_FEATURE_IP_OVER_EAPOL)
-ENDIF(TIZEN_FEATURE_IP_OVER_EAPOL)
-
IF(TIZEN_ARCH_64)
- ADD_DEFINITIONS(-DTIZEN_ARCH_64)
+ ADD_DEFINITIONS(-DTIZEN_ARCH_64)
ENDIF(TIZEN_ARCH_64)
-IF(TIZEN_PROFILE_COMMON)
- ADD_DEFINITIONS(-DTIZEN_PROFILE_COMMON)
-ENDIF(TIZEN_PROFILE_COMMON)
-
-IF(TIZEN_FEATURE_ASP)
- ADD_DEFINITIONS(-DTIZEN_FEATURE_ASP)
-ENDIF(TIZEN_FEATURE_ASP)
-
-IF(TIZEN_PROFILE_MOBILE)
- ADD_DEFINITIONS(-DTIZEN_PROFILE_MOBILE)
-ENDIF(TIZEN_PROFILE_MOBILE)
-
-IF(TIZEN_PROFILE_TV)
- ADD_DEFINITIONS(-DTIZEN_PROFILE_TV)
-ENDIF(TIZEN_PROFILE_TV)
+IF(TIZEN_TETHERING_ENABLE)
+ ADD_DEFINITIONS(-DTIZEN_TETHERING_ENABLE)
+ENDIF(TIZEN_TETHERING_ENABLE)
IF(TIZEN_DEBUG_DBUS_VALUE)
- ADD_DEFINITIONS(-DTIZEN_DEBUG_DBUS_VALUE)
+ ADD_DEFINITIONS(-DTIZEN_DEBUG_DBUS_VALUE)
ENDIF(TIZEN_DEBUG_DBUS_VALUE)
-IF(TIZEN_ENABLE_PRD)
- ADD_DEFINITIONS(-DTIZEN_ENABLE_PRD)
-ENDIF(TIZEN_ENABLE_PRD)
-
-IF(TIZEN_FEATURE_WIFI_DIRECT_ON_DEMAND)
- ADD_DEFINITIONS(-DTIZEN_FEATURE_WIFI_DIRECT_ON_DEMAND)
-ENDIF(TIZEN_FEATURE_WIFI_DIRECT_ON_DEMAND)
-
-SET(SRCS
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-manager.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-state.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-peer.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-group.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-session.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-event.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-util.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-dbus.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-error.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-iface.c
- ${CMAKE_SOURCE_DIR}/oem/wifi-direct-oem.c
- )
-
-IF(TIZEN_FEATURE_SERVICE_DISCOVERY)
- SET(SRCS ${SRCS} ${CMAKE_SOURCE_DIR}/src/wifi-direct-service.c)
-ENDIF(TIZEN_FEATURE_SERVICE_DISCOVERY)
-
-IF(TIZEN_FEATURE_ASP)
- SET(SRCS ${SRCS} ${CMAKE_SOURCE_DIR}/src/wifi-direct-asp.c)
-ENDIF(TIZEN_FEATURE_ASP)
-
-IF(TIZEN_ENABLE_PRD)
- SET(SRCS ${SRCS} ${CMAKE_SOURCE_DIR}/prd/src/wifi-direct-prd.c)
-ENDIF(TIZEN_ENABLE_PRD)
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl)
-
-
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh.in ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh @ONLY)
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/dhcpd.conf.in ${CMAKE_SOURCE_DIR}/files/dhcpd.conf @ONLY)
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/p2p_supp.conf.in ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf @ONLY)
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/p2p_supp.sh.in ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh @ONLY)
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip.in ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip @ONLY)
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh @ONLY)
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh.in ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh @ONLY)
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh DESTINATION ${BIN_DIR})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh DESTINATION ${SBIN_DIR})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/ccode.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh DESTINATION ${BIN_DIR})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.conf DESTINATION ${TZ_SYS_ETC})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.conf DESTINATION ${TZ_SYS_RO_ETC}/wifi-direct)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh DESTINATION ${BIN_DIR})
+ADD_SUBDIRECTORY(src)
IF("${ARCH}" MATCHES "^arm.*|.*86.*")
ADD_SUBDIRECTORY(plugin/wpasupplicant/ctrl_iface_dbus)
ADD_SUBDIRECTORY(prd/plugin/wpasupplicant/ctrl_iface_dbus)
ENDIF()
ENDIF(TIZEN_ENABLE_PRD)
+
+ADD_SUBDIRECTORY(files)
+
+IF(BUILD_GTESTS)
+ ADD_SUBDIRECTORY(unittest)
+ENDIF(BUILD_GTESTS)