X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=951a01155a68a83b5684f730f9d18a2ce1a177cc;hb=65596129609edfb742f595fd3b61ccbad913bce2;hp=81f2df1115d1871da4f496bdaff569dccab658cf;hpb=752c4567cb8fa858b710949df35ba19bba4e96bb;p=platform%2Fcore%2Fconnectivity%2Fwifi-direct-manager.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 81f2df1..951a011 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,111 +1,54 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -PROJECT(wfd-manager C) - -# Global setting -SET(VERSION 0.0) - -# Build type : Release -IF("${CMAKE_BUILD_TYPE}" STREQUAL "") - SET(CMAKE_BUILD_TYPE "Release") -ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") -MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") - -# Set required packages -INCLUDE(FindPkgConfig) -pkg_check_modules(pkgs REQUIRED wifi-direct vconf glib-2.0 dbus-1 dbus-glib-1 gthread-2.0 dlog capi-appfw-application) - -FOREACH(flag ${pkgs_CFLAGS}) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -g -DUSE_DLOG") -ENDFOREACH(flag) - -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include - ${CMAKE_SOURCE_DIR}/oem/include) - - -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") -SET(CMAKE_C_FLAGS_DEBUG "-O0 -g") -SET(CMAKE_C_FLAGS_RELEASE "-O2") - -#FIND_PROGRAM(UNAME NAMES uname) -#EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -SET(ARCH "${ARCHITECTURE}") -IF("${ARCH}" STREQUAL "arm") - ADD_DEFINITIONS("-DTARGET") - MESSAGE("add -DTARGET") -ENDIF("${ARCH}" STREQUAL "arm") - -ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") - -# Linker flags -#SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed") - - -#EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH") -message("${ARCH}") -IF("${ARCH}" MATCHES "^arm.*|.*86.*") - SET(SRCS - wifi-direct-main.c - wifi-direct-utils.c - wifi-direct-stub.c - wifi-direct-state.c - wifi-direct-dhcp.c - wifi-direct-client-handler.c - wifi-direct-event-handler.c - ${CMAKE_SOURCE_DIR}/oem/wifi-direct-oem.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 +# +INCLUDE_DIRECTORIES( + ${CMAKE_SOURCE_DIR}/include + ${CMAKE_SOURCE_DIR}/oem ) - MESSAGE("Build for Target") - ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) +IF(TIZEN_ENABLE_PRD) +INCLUDE_DIRECTORIES( + ${CMAKE_SOURCE_DIR}/prd/include + ) +ENDIF(TIZEN_ENABLE_PRD) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl) +AUX_SOURCE_DIRECTORY(./ SRCS) +SET(SRCS ${SRCS} ${CMAKE_SOURCE_DIR}/oem/wifi-direct-oem.c) +IF(TIZEN_ENABLE_PRD) + SET(SRCS ${SRCS} ${CMAKE_SOURCE_DIR}/prd/src/wifi-direct-prd.c) +ENDIF(TIZEN_ENABLE_PRD) - # pkgconfig file - SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +PKG_CHECK_MODULES(daemon_pkgs REQUIRED capi-network-wifi-direct glib-2.0 + gio-2.0 gobject-2.0 dlog libnl-3.0 capi-appfw-application vconf aul + libsystemd capi-system-info libtzplatform-config ${MDM_REQUIRED_PKGS}) - # Install - INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.p2p.conf DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.wl0.conf DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.eth.conf DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_suppl.conf DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh DESTINATION bin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh DESTINATION bin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh DESTINATION bin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh DESTINATION sbin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supplicant DESTINATION sbin) +FOREACH(flag ${daemon_pkgs_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) -ELSE() - SET(SRCS - wifi-direct-main.c - wifi-direct-utils.c - wifi-direct-stub.c - wifi-direct-state.c - wifi-direct-dhcp.c - wifi-direct-client-handler.c - wifi-direct-event-handler.c - ${CMAKE_SOURCE_DIR}/oem/wifi-direct-oem.c - ) - MESSAGE("Build for Emulator") +INCLUDE_DIRECTORIES($(daemon_pkgs_INCLUDE_DIRS)) +LINK_DIRECTORIES($(daemon_pkgs_LIBRARY_DIRS)) - ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -ldl) +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") - # pkgconfig file - SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") - # Install - INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.p2p.conf DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.wl0.conf DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd.eth.conf DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/udhcp_script.non-autoip DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_suppl.conf DESTINATION etc/wifi-direct) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/dhcpd-notify.sh DESTINATION bin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-server.sh DESTINATION bin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/wifi-direct-dhcp.sh DESTINATION bin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supp.sh DESTINATION sbin) - INSTALL(FILES ${CMAKE_SOURCE_DIR}/files/p2p_supplicant DESTINATION sbin) - -ENDIF() +ADD_EXECUTABLE(${DAEMON} ${SRCS}) +TARGET_LINK_LIBRARIES(${DAEMON} ${daemon_pkgs_LDFLAGS} -ldl) +INSTALL(TARGETS ${DAEMON} DESTINATION bin)