-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(wfd-manager C)
+# 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
+#
-#SET(PREFIX $(CMAKE_INSTALL_PREFIX))
-SET(prefix "/usr")
-SET(EXEC_PREFIX "\${prefix}")
-SET(LIBDIR "\${prefix}/lib")
-SET(INCLUDEDIR "\${prefix}/include")
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+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 capi-appfw-application vconf ${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
- )
-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_ARCH_64)
+ ADD_DEFINITIONS(-DTIZEN_ARCH_64)
+ENDIF(TIZEN_ARCH_64)
IF(TIZEN_TETHERING_ENABLE)
- ADD_DEFINITIONS(-DTIZEN_TETHERING_ENABLE)
+ ADD_DEFINITIONS(-DTIZEN_TETHERING_ENABLE)
ENDIF(TIZEN_TETHERING_ENABLE)
-IF(TIZEN_FEATURE_SERVICE_DISCOVERY)
- ADD_DEFINITIONS(-DTIZEN_FEATURE_SERVICE_DISCOVERY)
-ENDIF(TIZEN_FEATURE_SERVICE_DISCOVERY)
-IF(TIZEN_FEATURE_WIFI_DISPLAY)
- ADD_DEFINITIONS(-DTIZEN_FEATURE_WIFI_DISPLAY)
-ENDIF(TIZEN_FEATURE_WIFI_DISPLAY)
-IF(TIZEN_WLAN_CONCURRENT_ENABLE)
- ADD_DEFINITIONS(-DTIZEN_WLAN_CONCURRENT_ENABLE)
-ENDIF(TIZEN_WLAN_CONCURRENT_ENABLE)
-
-IF(TIZEN_MOBILE)
- ADD_DEFINITIONS(-DTIZEN_MOBILE)
-ENDIF(TIZEN_MOBILE)
-
-IF(TIZEN_TV)
- ADD_DEFINITIONS(-DTIZEN_TV)
-ENDIF(TIZEN_TV)
-IF(CTRL_IFACE_DBUS)
- ADD_DEFINITIONS(-DCTRL_IFACE_DBUS)
-ENDIF(CTRL_IFACE_DBUS)
+IF(TIZEN_DEBUG_DBUS_VALUE)
+ ADD_DEFINITIONS(-DTIZEN_DEBUG_DBUS_VALUE)
+ENDIF(TIZEN_DEBUG_DBUS_VALUE)
-SET(SRCS
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-manager.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-state.c
- ${CMAKE_SOURCE_DIR}/src/wifi-direct-client.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}/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)
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl)
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/udhcp_script.non-autoip DESTINATION etc/wifi-direct)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/wifi-direct-server.sh DESTINATION bin)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/p2p_supp.sh DESTINATION sbin)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/ccode.conf DESTINATION etc/wifi-direct)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/persistent-peer DESTINATION /opt/etc)
-IF(TIZEN_TV)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/tv/p2p_supp.conf DESTINATION etc/wifi-direct)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/tv/p2p_supp.conf DESTINATION /opt/etc)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/tv/dhcpd.p2p.conf DESTINATION etc/wifi-direct)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/tv/dhcpd-notify.sh DESTINATION bin)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/tv/wifi-direct-dhcp.sh DESTINATION bin)
-ELSE(TIZEN_TV)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/p2p_supp.conf DESTINATION etc/wifi-direct)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/p2p_supp.conf DESTINATION /opt/etc)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/dhcpd.p2p.conf DESTINATION etc/wifi-direct)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/dhcpd-notify.sh DESTINATION bin)
- INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/common/wifi-direct-dhcp.sh DESTINATION bin)
-ENDIF(TIZEN_TV)
+ADD_SUBDIRECTORY(src)
IF("${ARCH}" MATCHES "^arm.*|.*86.*")
-IF(CTRL_IFACE_DBUS)
ADD_SUBDIRECTORY(plugin/wpasupplicant/ctrl_iface_dbus)
-ELSE(CTRL_IFACE_DBUS)
- ADD_SUBDIRECTORY(plugin/wpasupplicant/ctrl_iface_sock)
-ENDIF(CTRL_IFACE_DBUS)
ELSE()
ADD_SUBDIRECTORY(plugin/wpasupplicant/emul)
ENDIF()
+
+IF(TIZEN_ENABLE_PRD)
+ IF("${ARCH}" MATCHES "^arm.*|.*86.*")
+ 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)