Removed unused preset restrictions list.
[platform/core/connectivity/stc-manager.git] / src / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 SET(REQUIRES_LIST ${REQUIRES_LIST}
4         glib-2.0
5         gio-2.0
6         gio-unix-2.0
7         dlog
8         vconf
9         )
10
11 IF("${ENABLE_DATABASE}" STREQUAL "YES")
12         SET(REQUIRES_LIST ${REQUIRES_LIST} sqlite3)
13 ENDIF()
14
15 INCLUDE(FindPkgConfig)
16 PKG_CHECK_MODULES(stc_pkgs REQUIRED "${REQUIRES_LIST}")
17
18 FOREACH(flag ${stc_pkgs_CFLAGS})
19         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
20 ENDFOREACH(flag)
21
22 SET(SOURCE_DIR                  ${CMAKE_SOURCE_DIR}/src)
23 SET(HELPER_SOURCE_DIR           ${SOURCE_DIR}/helper)
24 SET(DATABASE_SOURCE_DIR         ${SOURCE_DIR}/database)
25 SET(MONITOR_SOURCE_DIR          ${SOURCE_DIR}/monitor)
26 SET(CONFIGURE_SOURCE_DIR        ${SOURCE_DIR}/configure)
27 SET(LIMITATION_SOURCE_DIR       ${SOURCE_DIR}/limitation)
28
29 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
30 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/interfaces)
31
32 INCLUDE_DIRECTORIES(${SOURCE_DIR})
33 INCLUDE_DIRECTORIES(${HELPER_SOURCE_DIR})
34
35 INCLUDE_DIRECTORIES(${DATABASE_SOURCE_DIR})
36 INCLUDE_DIRECTORIES(${DATABASE_SOURCE_DIR}/include)
37
38 INCLUDE_DIRECTORIES(${MONITOR_SOURCE_DIR})
39 INCLUDE_DIRECTORIES(${MONITOR_SOURCE_DIR}/include)
40
41 INCLUDE_DIRECTORIES(${CONFIGURE_SOURCE_DIR})
42 INCLUDE_DIRECTORIES(${CONFIGURE_SOURCE_DIR}/include)
43
44 INCLUDE_DIRECTORIES(${LIMITATION_SOURCE_DIR})
45 INCLUDE_DIRECTORIES(${LIMITATION_SOURCE_DIR}/include)
46
47 FILE(GLOB SOURCE_SRCS        ${SOURCE_DIR}/*.c)
48 FILE(GLOB HELPER_SOURCE_SRCS ${HELPER_SOURCE_DIR}/*.c)
49 FILE(GLOB MONITOR_SRCS       ${MONITOR_SOURCE_DIR}/*.c)
50 FILE(GLOB CONFIGURE_SRCS     ${CONFIGURE_SOURCE_DIR}/*.c)
51 FILE(GLOB LIMITATION_SRCS    ${LIMITATION_SOURCE_DIR}/*.c)
52
53 SET(SRCS ${SRCS} ${SOURCE_SRCS} ${HELPER_SOURCE_SRCS} ${MONITOR_SRCS} ${CONFIGURE_SRCS} ${LIMITATION_SRCS})
54
55 IF("${ENABLE_DATABASE}" STREQUAL "YES")
56         FILE(GLOB DATABASE_SRCS           ${DATABASE_SOURCE_DIR}/*.c)
57         FILE(GLOB DATABASE_TABLES_SRCS    ${DATABASE_SOURCE_DIR}/tables/*.c)
58
59         SET(SRCS ${SRCS} ${DATABASE_SRCS} ${DATABASE_TABLES_SRCS})
60
61         INSTALL(FILES ${DATA_DIR}/traffic_db.sql DESTINATION /usr/share)
62 ENDIF()
63
64 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror-implicit-function-declaration -fvisibility=hidden")
65 SET(ARM_CFLAGS "${ARM_CFLAGS} -mapcs -mabi=aapcs-linux -msoft-float -Uarm -fpic")
66 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
67
68 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
69
70 ADD_DEFINITIONS("-DUSE_DLOG")
71 ADD_DEFINITIONS("-DDATABASE_FULL_PATH=\"${DATABASE_FULL_PATH}\"")
72
73 ADD_CUSTOM_COMMAND(
74         WORKING_DIRECTORY
75         OUTPUT ${CMAKE_SOURCE_DIR}/src/generated-code.c
76         COMMAND gdbus-codegen --interface-prefix net.stc.
77                         --generate-c-code generated-code
78                         --c-namespace Stc
79                         --c-generate-object-manager
80                         --generate-docbook generated-code-docs
81                         ${INTERFACES}/stcmanager-iface-restriction.xml
82                         ${INTERFACES}/stcmanager-iface-statistics.xml
83                         COMMENT "Generating GDBus .c/.h")
84
85 SET(SRCS ${SRCS} ${SOURCE_DIR}/generated-code.c)
86 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
87 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${stc_pkgs_LDFLAGS} -ldl)
88 INSTALL(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${BIN_DIR})
89
90 ADD_SUBDIRECTORY(utils)