Update for tizen_2.1(license #4)
[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_agent.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 )
14
15 SET(CMAKE_INSTALL_PREFIX /usr)
16
17 SET(APP_VENDOR "tizen")
18 SET(APP_NAME mobileap-agent)
19 SET(APP_DIR ${CMAKE_INSTALL_PREFIX}/bin)
20 SET(INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include)
21
22 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
23         SET(CMAKE_BUILD_TYPE "Release")
24 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
25
26 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
27
28 INCLUDE_DIRECTORIES(${INCLUDE_DIR})
29
30 INCLUDE(FindPkgConfig)
31 pkg_check_modules(pkgs REQUIRED dlog dbus-glib-1 pmapi vconf notification libssl secure-storage capi-network-connection capi-network-bluetooth ${PRIVATE_REQUIRED_PKGS})
32 FOREACH(flag ${pkgs_CFLAGS})
33         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
34 ENDFOREACH(flag)
35
36 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fpie -Wall")
37 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
38 SET(CMAKE_C_FLAGS_RELEASE "-O2")
39
40 FIND_PROGRAM(UNAME NAMES uname)
41 EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
42 IF("${ARCH}" STREQUAL "arm")
43         ADD_DEFINITIONS("-DTARGET")
44         MESSAGE("add -DTARGET")
45 ENDIF("${ARCH}" STREQUAL "arm")
46
47 FIND_PROGRAM(DBUS_BINDING_TOOL NAMES dbus-binding-tool)
48 EXEC_PROGRAM("${DBUS_BINDING_TOOL}" ARGS "--prefix=tethering ${INCLUDE_DIR}/tethering-dbus-interface.xml --mode=glib-server --output=${INCLUDE_DIR}/tethering-server-stub.h")
49
50 ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
51 ADD_DEFINITIONS("-DVENDOR=\"${APP_VENDOR}\"")
52 ADD_DEFINITIONS("-DAPPNAME=\"${APP_NAME}\"")
53 ADD_DEFINITIONS("-DAPP_DIR=\"${APP_DIR}\"")
54
55 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed -pie")
56
57 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
58 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
59
60 INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
61 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/org.tizen.tethering.service DESTINATION share/dbus-1/services)
62