Migrate to openssl 1.1
[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         capi-system-info
10         openssl1.1
11         )
12
13 IF("${ENABLE_DATABASE}" STREQUAL "YES")
14         SET(REQUIRES_LIST ${REQUIRES_LIST} sqlite3)
15 ENDIF()
16
17 INCLUDE(FindPkgConfig)
18 PKG_CHECK_MODULES(stc_pkgs REQUIRED "${REQUIRES_LIST}")
19
20 FOREACH(flag ${stc_pkgs_CFLAGS})
21         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
22 ENDFOREACH(flag)
23
24 SET(SOURCE_DIR                  ${CMAKE_SOURCE_DIR}/src)
25 SET(HELPER_SOURCE_DIR           ${SOURCE_DIR}/helper)
26 SET(DATABASE_SOURCE_DIR         ${SOURCE_DIR}/database)
27 SET(CONFIGURE_SOURCE_DIR        ${SOURCE_DIR}/configure)
28 SET(LIMITATION_SOURCE_DIR       ${SOURCE_DIR}/limitation)
29 SET(PLUGIN_DIR                  ${CMAKE_SOURCE_DIR}/plugin)
30 SET(APPSTATUS_SOURCE_DIR        ${PLUGIN_DIR}/appstatus)
31 SET(EXCEPTION_SOURCE_DIR        ${PLUGIN_DIR}/exception)
32 SET(PROCFS_SOURCE_DIR           ${PLUGIN_DIR}/procfs)
33 SET(PCAP_SOURCE_DIR             ${PLUGIN_DIR}/pcap)
34 SET(TETHER_SOURCE_DIR           ${PLUGIN_DIR}/tether)
35 SET(MONITOR_SOURCE_DIR          ${PLUGIN_DIR}/monitor)
36 SET(FIREWALL_SOURCE_DIR         ${PLUGIN_DIR}/firewall)
37
38 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
39 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/interfaces)
40
41 INCLUDE_DIRECTORIES(${SOURCE_DIR})
42 INCLUDE_DIRECTORIES(${HELPER_SOURCE_DIR})
43
44 INCLUDE_DIRECTORIES(${DATABASE_SOURCE_DIR})
45 INCLUDE_DIRECTORIES(${DATABASE_SOURCE_DIR}/include)
46
47 INCLUDE_DIRECTORIES(${CONFIGURE_SOURCE_DIR})
48 INCLUDE_DIRECTORIES(${CONFIGURE_SOURCE_DIR}/include)
49
50 INCLUDE_DIRECTORIES(${LIMITATION_SOURCE_DIR})
51 INCLUDE_DIRECTORIES(${LIMITATION_SOURCE_DIR}/include)
52
53 INCLUDE_DIRECTORIES(${APPSTATUS_SOURCE_DIR}/include)
54 INCLUDE_DIRECTORIES(${EXCEPTION_SOURCE_DIR}/include)
55 INCLUDE_DIRECTORIES(${PROCFS_SOURCE_DIR}/include)
56 INCLUDE_DIRECTORIES(${PCAP_SOURCE_DIR}/include)
57 INCLUDE_DIRECTORIES(${TETHER_SOURCE_DIR}/include)
58 INCLUDE_DIRECTORIES(${MONITOR_SOURCE_DIR}/include)
59 INCLUDE_DIRECTORIES(${FIREWALL_SOURCE_DIR}/include)
60
61 FILE(GLOB SOURCE_SRCS        ${SOURCE_DIR}/*.c)
62 FILE(GLOB HELPER_SRCS        ${HELPER_SOURCE_DIR}/*.c)
63 FILE(GLOB CONFIGURE_SRCS     ${CONFIGURE_SOURCE_DIR}/*.c)
64 FILE(GLOB LIMITATION_SRCS    ${LIMITATION_SOURCE_DIR}/*.c)
65
66 SET(SRCS ${SRCS} ${SOURCE_SRCS} ${HELPER_SRCS} ${CONFIGURE_SRCS} ${LIMITATION_SRCS})
67
68 IF("${ENABLE_DATABASE}" STREQUAL "YES")
69         FILE(GLOB DATABASE_SRCS           ${DATABASE_SOURCE_DIR}/*.c)
70         FILE(GLOB DATABASE_TABLES_SRCS    ${DATABASE_SOURCE_DIR}/tables/*.c)
71
72         SET(SRCS ${SRCS} ${DATABASE_SRCS} ${DATABASE_TABLES_SRCS})
73
74         INSTALL(FILES ${DATA_DIR}/traffic_db.sql DESTINATION /usr/share)
75         INSTALL(FILES ${DATA_DIR}/firewall_db.sql DESTINATION /usr/share)
76 ENDIF()
77
78 IF(BUILD_GTESTS)
79 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror-implicit-function-declaration")
80 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fprofile-arcs -ftest-coverage")
81 ELSE(BUILD_GTESTS)
82 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -Wall -Werror-implicit-function-declaration -fvisibility=hidden")
83 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
84 ENDIF(BUILD_GTESTS)
85
86 SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
87
88 ADD_DEFINITIONS("-DUSE_DLOG")
89 ADD_DEFINITIONS("-DDATABASE_FULL_PATH=\"${DATABASE_FULL_PATH}\"")
90 IF(BUILD_GTESTS)
91         ADD_DEFINITIONS(-DTIZEN_GTESTS)
92 ENDIF(BUILD_GTESTS)
93
94 SET(SRCS ${SRCS} ${INTERFACES}/generated-code.c)
95 SET_SOURCE_FILES_PROPERTIES(${INTERFACES}/generated-code.c PROPERTIES GENERATED TRUE)
96
97 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
98 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${stc_pkgs_LDFLAGS} -ldl)
99 INSTALL(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${BIN_DIR})
100 ADD_DEPENDENCIES(${PROJECT_NAME} GENERATED_DBUS_CODE)
101
102 ADD_SUBDIRECTORY(utils)