tizen 2.3 release
[framework/connectivity/mobileap-agent.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(mobileap-agent C)
3
4 SET(SRCS src/mobileap_softap.c
5         src/mobileap_main.c
6         src/mobileap_wifi.c
7         src/mobileap_usb.c
8         src/mobileap_bluetooth.c
9         src/mobileap_handler.c
10         src/mobileap_common.c
11         src/mobileap_notification.c
12         src/mobileap_network.c
13         src/mobileap_iptables.c
14 )
15
16 SET(CMAKE_INSTALL_PREFIX /usr)
17
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)
22
23 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
24         SET(CMAKE_BUILD_TYPE "Release")
25 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
26
27 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
28
29 INCLUDE_DIRECTORIES(${INCLUDE_DIR})
30
31 INCLUDE(FindPkgConfig)
32 pkg_check_modules(pkgs REQUIRED gio-2.0 dlog dbus-glib-1 deviced vconf notification capi-network-connection capi-network-bluetooth appcore-common capi-network-wifi capi-network-wifi-direct alarm-service appsvc libssl)
33 FOREACH(flag ${pkgs_CFLAGS})
34         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
35 ENDFOREACH(flag)
36
37 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fpie -Wall")
38 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
39 SET(CMAKE_C_FLAGS_RELEASE "-O2")
40
41 FIND_PROGRAM(UNAME NAMES uname)
42 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
43 IF("${ARCH}" STREQUAL "arm")
44         ADD_DEFINITIONS("-DTARGET")
45         MESSAGE("add -DTARGET")
46 ENDIF("${ARCH}" STREQUAL "arm")
47
48 FIND_PROGRAM(DBUS_BINDING_TOOL NAMES dbus-binding-tool)
49 EXEC_PROGRAM("${DBUS_BINDING_TOOL}" ARGS "--prefix=tethering ${INCLUDE_DIR}/tethering-dbus-interface.xml --mode=glib-server --output=${INCLUDE_DIR}/tethering-server-stub.h")
50
51 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
52 ADD_DEFINITIONS("-DVENDOR=\"${APP_VENDOR}\"")
53 ADD_DEFINITIONS("-DAPPNAME=\"${APP_NAME}\"")
54 ADD_DEFINITIONS("-DAPP_DIR=\"${APP_DIR}\"")
55
56 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -pie")
57
58 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
59 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
60
61 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
62 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/org.tizen.tethering.service DESTINATION share/dbus-1/services)
63 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tethering_dump.sh DESTINATION /opt/etc/dump.d/module.d/)
64