Changing dbus calls to use bluez 5 API calls. This allows the phone app to connect...
[profile/ivi/phoned.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2 PROJECT(phoned)
3
4 SET(CMAKE_INSTALL_PREFIX "/usr")
5
6 # -----------------------------------------------------------------------------
7 # Required platform modules
8 # -----------------------------------------------------------------------------
9 INCLUDE(FindPkgConfig)
10
11 PKG_CHECK_MODULES(dpl REQUIRED dpl-efl)
12 PKG_CHECK_MODULES(glib REQUIRED glib-2.0)
13 PKG_CHECK_MODULES(gio REQUIRED gio-2.0)
14 PKG_CHECK_MODULES(dbus REQUIRED dbus-1)
15 PKG_CHECK_MODULES(libebook-contacts REQUIRED libebook-contacts-1.2)
16
17 INCLUDE_DIRECTORIES(
18   ${dpl_INCLUDE_DIRS}
19   ${glib_INCLUDE_DIRS}
20   ${gio_INCLUDE_DIRS}
21   ${dbus_INCLUDE_DIRS}
22   ${libebook-contacts_INCLUDE_DIRS}
23 )
24
25 # -----------------------------------------------------------------------------
26 # Determine the log option
27 # -----------------------------------------------------------------------------
28
29 OPTION(DPL_LOG "DPL logs status" ON)
30
31 IF(DPL_LOG)
32     MESSAGE(STATUS "Logging enabled for DPL")
33     ADD_DEFINITIONS("-DDPL_LOGS_ENABLED")
34 ELSE(DPL_LOG)
35     MESSAGE(STATUS "Logging disabled for DPL")
36 ENDIF(DPL_LOG)
37
38 # -----------------------------------------------------------------------------
39 # Determine the time tracing option
40 # -----------------------------------------------------------------------------
41
42 OPTION(ENABLE_TIME_TRACER "TIME TRACING" OFF)
43
44 IF(ENABLE_TIME_TRACER)
45     MESSAGE(STATUS "Time tracer enabled")
46     ADD_DEFINITIONS("-DENABLE_TIME_TRACER")
47 ELSE(ENABLE_TIME_TRACER)
48     MESSAGE(STATUS "Time tracer disabled")
49 ENDIF(ENABLE_TIME_TRACER)
50
51 # -----------------------------------------------------------------------------
52 # Set build type (Release by default)
53 # -----------------------------------------------------------------------------
54 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
55      SET(CMAKE_BUILD_TYPE Release)
56 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
57
58 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
59
60 # -----------------------------------------------------------------------------
61 # CFlags
62 # -----------------------------------------------------------------------------
63 SET(CMAKE_C_FLAGS_PROFILING    "-O0 -g -pg")
64 SET(CMAKE_CXX_FLAGS_PROFILING  "-O0 -std=c++0x -g -pg")
65 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g")
66 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++0x -g")
67 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g")
68 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++0x -g")
69 ADD_DEFINITIONS("-DCLIENT_IPC_THREAD")
70 ADD_DEFINITIONS("-DEXPORT_API=")
71 ADD_DEFINITIONS("-Wall")
72 ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
73 #ADD_DEFINITIONS("-Werror")
74 #ADD_DEFINITIONS("-Wextra")
75 ADD_DEFINITIONS("-DAPPLICATION_API_BACKWARD_COMPATIBILITY")
76 ADD_DEFINITIONS("-std=c++11")
77
78 # -----------------------------------------------------------------------------
79 # Global variables
80 # -----------------------------------------------------------------------------
81
82 SET(DESTINATION_PREFIX sbin)
83 SET(DBUS_SERVICE_PREFIX share/dbus-1/services)
84 SET(SYSTEMD_SERVICE_PREFIX lib/systemd/user)
85
86 # -----------------------------------------------------------------------------
87 # Macros for pkgconfig
88 # -----------------------------------------------------------------------------
89 SET(PKGCONFIG_DIR ${CMAKE_SOURCE_DIR}/pkgconfig)
90
91 MACRO(configure_and_install_pkg PKG_FILE)
92     CONFIGURE_FILE(${PKGCONFIG_DIR}/${PKG_FILE}.in
93                ${PKGCONFIG_DIR}/${PKG_FILE} @ONLY)
94     INSTALL(FILES ${PKGCONFIG_DIR}/${PKG_FILE} DESTINATION lib/pkgconfig)
95 ENDMACRO(configure_and_install_pkg)
96
97 SET(TARGET_NAME phoned)
98
99 configure_and_install_pkg(phoned.pc)
100
101 SET(SRCS src/phoned.cpp
102          src/phone.cpp
103          src/connman.cpp
104          src/bluez.cpp
105          src/obex.cpp
106          src/ofono.cpp
107          src/utils.cpp
108 )
109
110 ADD_EXECUTABLE(${TARGET_NAME} ${SRCS})
111 TARGET_LINK_LIBRARIES(${TARGET_NAME}
112                       ${dpl_LDFLAGS}
113                       ${glib_LDFLAGS}
114                       ${gio_LDFLAGS}
115                       ${dbus_LDFLAGS}
116                       ${libebook-contacts_LDFLAGS}
117 )
118 INSTALL(TARGETS ${TARGET_NAME} DESTINATION ${DESTINATION_PREFIX})
119 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/org.tizen.phone.service DESTINATION ${DBUS_SERVICE_PREFIX})
120 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/phoned.service DESTINATION ${SYSTEMD_SERVICE_PREFIX})
121