CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(wfd-manager C) 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 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(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_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_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) 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_WIFI_MODULE_BUNDLE) ADD_DEFINITIONS(-DTIZEN_WIFI_MODULE_BUNDLE) ENDIF(TIZEN_WIFI_MODULE_BUNDLE) 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) IF(TIZEN_ENABLE_PRD) ADD_DEFINITIONS(-DTIZEN_ENABLE_PRD) ENDIF(TIZEN_ENABLE_PRD) 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}) 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.*") IF(CTRL_IFACE_DBUS) ADD_SUBDIRECTORY(prd/plugin/wpasupplicant/ctrl_iface_dbus) ELSE(CTRL_IFACE_DBUS) ADD_SUBDIRECTORY(prd/plugin/wpasupplicant/ctrl_iface_sock) ENDIF(CTRL_IFACE_DBUS) ENDIF() ENDIF(TIZEN_ENABLE_PRD)