1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(mobileap-agent C)
4 SET(SRCS src/mobileap_softap.c
8 src/mobileap_bluetooth.c
11 src/mobileap_notification.c
12 src/mobileap_network.c
13 src/mobileap_iptables.c
16 SET(CMAKE_INSTALL_PREFIX /usr)
18 SET(APP_VENDOR "samsung")
19 SET(APP_NAME mobileap-agent)
20 SET(APP_DIR ${CMAKE_INSTALL_PREFIX}/bin)
21 SET(INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include)
23 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
24 SET(CMAKE_BUILD_TYPE "Release")
25 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
27 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
29 INCLUDE_DIRECTORIES(${INCLUDE_DIR} ${CMAKE_SOURCE_DIR})
31 INCLUDE(FindPkgConfig)
32 pkg_check_modules(pkgs REQUIRED gio-2.0 gio-unix-2.0 dbus-1 dlog deviced vconf notification capi-network-connection capi-network-bluetooth appcore-common capi-network-wifi capi-network-wifi-direct alarm-service appsvc libssl)
34 FOREACH(flag ${pkgs_CFLAGS})
35 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
38 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wall")
39 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fPIE")
40 SET(CMAKE_C_FLAGS_RELEASE "-O2 -fPIE")
42 FIND_PROGRAM(UNAME NAMES uname)
43 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
44 IF("${ARCH}" STREQUAL "arm")
45 ADD_DEFINITIONS("-DTARGET")
46 MESSAGE("add -DTARGET")
47 ENDIF("${ARCH}" STREQUAL "arm")
49 ADD_DEFINITIONS(-DTIZEN_TV)
52 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
53 ADD_DEFINITIONS("-DVENDOR=\"${APP_VENDOR}\"")
54 ADD_DEFINITIONS("-DAPPNAME=\"${APP_NAME}\"")
55 ADD_DEFINITIONS("-DAPP_DIR=\"${APP_DIR}\"")
57 IF(TIZEN_WLAN_BOARD_SPRD)
58 ADD_DEFINITIONS(-DTIZEN_WLAN_BOARD_SPRD)
59 ENDIF(TIZEN_WLAN_BOARD_SPRD)
61 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -pie")
65 OUTPUT ${CMAKE_BINARY_DIR}/tethering-server-stub.c
66 COMMAND gdbus-codegen --interface-prefix org.tizen.
67 --generate-c-code tethering-server-stub
68 --c-generate-object-manager
69 --generate-docbook generated-docs
70 ${INCLUDE_DIR}/tethering-dbus-interface.xml
71 COMMENT "Generating GDBus .c/.h")
73 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS} ${CMAKE_BINARY_DIR}/tethering-server-stub.c)
74 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
76 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
77 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/org.tizen.tethering.service DESTINATION share/dbus-1/system-services)
78 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tethering_dump.sh DESTINATION /opt/etc/dump.d/module.d/)