Fixed bug where ModemRemoved signal never handled
[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 INCLUDE(GNUInstallDirs)
11
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 PKG_CHECK_MODULES(aul REQUIRED aul)
17
18 INCLUDE_DIRECTORIES(
19   ${glib_INCLUDE_DIRS}
20   ${gio_INCLUDE_DIRS}
21   ${dbus_INCLUDE_DIRS}
22   ${libebook-contacts_INCLUDE_DIRS}
23   ${aul_INCLUDE_DIRS}
24 )
25
26 # -----------------------------------------------------------------------------
27 # Determine the time tracing option
28 # -----------------------------------------------------------------------------
29
30 OPTION(ENABLE_TIME_TRACER "TIME TRACING" OFF)
31
32 IF(ENABLE_TIME_TRACER)
33     MESSAGE(STATUS "Time tracer enabled")
34     ADD_DEFINITIONS("-DENABLE_TIME_TRACER")
35 ELSE(ENABLE_TIME_TRACER)
36     MESSAGE(STATUS "Time tracer disabled")
37 ENDIF(ENABLE_TIME_TRACER)
38
39 # -----------------------------------------------------------------------------
40 # Set build type (Release by default)
41 # -----------------------------------------------------------------------------
42 IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
43      SET(CMAKE_BUILD_TYPE Release)
44 ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
45
46 MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
47
48 # -----------------------------------------------------------------------------
49 # CFlags
50 # -----------------------------------------------------------------------------
51 SET(CMAKE_C_FLAGS_PROFILING    "-O0 -g -pg")
52 SET(CMAKE_CXX_FLAGS_PROFILING  "-O0 -std=c++0x -g -pg")
53 SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g")
54 SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++0x -g")
55 SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g")
56 SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++0x -g")
57 ADD_DEFINITIONS("-DCLIENT_IPC_THREAD")
58 ADD_DEFINITIONS("-DEXPORT_API=")
59 ADD_DEFINITIONS("-Wall")
60 ADD_DEFINITIONS("-D_FILE_OFFSET_BITS=64")
61 #ADD_DEFINITIONS("-Werror")
62 #ADD_DEFINITIONS("-Wextra")
63 ADD_DEFINITIONS("-DAPPLICATION_API_BACKWARD_COMPATIBILITY")
64 ADD_DEFINITIONS("-std=c++11")
65
66 # -----------------------------------------------------------------------------
67 # Global variables
68 # -----------------------------------------------------------------------------
69
70 SET(DESTINATION_PREFIX bin)
71 SET(DBUS_SERVICE_PREFIX share/dbus-1/services)
72 IF(NOT SYSTEMD_SERVICE_PREFIX)
73      SET(SYSTEMD_SERVICE_PREFIX lib/systemd/user)
74 ENDIF(NOT SYSTEMD_SERVICE_PREFIX)
75 # -----------------------------------------------------------------------------
76 # Macros for pkgconfig
77 # -----------------------------------------------------------------------------
78 SET(PKGCONFIG_DIR ${CMAKE_SOURCE_DIR}/pkgconfig)
79
80 MACRO(configure_and_install_pkg PKG_FILE)
81     CONFIGURE_FILE(${PKGCONFIG_DIR}/${PKG_FILE}.in
82                ${PKGCONFIG_DIR}/${PKG_FILE} @ONLY)
83     INSTALL(FILES ${PKGCONFIG_DIR}/${PKG_FILE} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
84 ENDMACRO(configure_and_install_pkg)
85
86 SET(TARGET_NAME phoned)
87
88 configure_and_install_pkg(phoned.pc)
89
90 SET(SRCS src/phoned.cpp
91          src/phone.cpp
92          src/connman.cpp
93          src/bluez.cpp
94          src/obex.cpp
95          src/ofono.cpp
96          src/utils.cpp
97 )
98
99 ADD_EXECUTABLE(${TARGET_NAME} ${SRCS})
100 TARGET_LINK_LIBRARIES(${TARGET_NAME}
101                       ${glib_LDFLAGS}
102                       ${gio_LDFLAGS}
103                       ${dbus_LDFLAGS}
104                       ${libebook-contacts_LDFLAGS}
105                       ${aul_LDFLAGS}
106 )
107 INSTALL(TARGETS ${TARGET_NAME} DESTINATION ${DESTINATION_PREFIX})
108 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/org.tizen.phone.service DESTINATION ${DBUS_SERVICE_PREFIX})
109 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/scripts/phoned.service DESTINATION ${SYSTEMD_SERVICE_PREFIX})
110