Fix coverity issue (CID 110783)
[platform/core/telephony/tel-plugin-packetservice.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(ps-plugin C)
3
4 #INCLUDE(FindPkgConfig)
5
6 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
7 SET(EXEC_PREFIX "\${prefix}")
8 SET(LIBDIR ${LIB_INSTALL_DIR})
9 SET(INCLUDEDIR "\${prefix}/include")
10 SET(DATAROOTDIR "\${prefix}/share")
11 if(NOT DEFINED SYSCONFDIR)
12         SET(SYSCONFDIR "/etc")
13 endif()
14
15 # Set required packages
16 INCLUDE(FindPkgConfig)
17 pkg_check_modules(pkgs REQUIRED glib-2.0 gio-2.0 gio-unix-2.0 tcore iniparser vconf alarm-service libxml-2.0
18         libtzplatform-config capi-system-device capi-system-info tfeature)
19
20 FOREACH(flag ${pkgs_CFLAGS})
21         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
22 ENDFOREACH(flag)
23
24 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/interface/ ${CMAKE_SOURCE_DIR}/interface/include ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/cmake_tmp )
25
26 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wcast-align -Wall -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wshadow -Wswitch-default -Wno-unused-but-set-parameter -Wno-unused-but-set-variable")
27
28 ### Purge unused code ###
29 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
30
31 SET(RES_DIR ${CMAKE_SOURCE_DIR}/resources/lte)
32 # The resource file dnet_db_init.sql is to be overwritten at post time for TV/IVI.
33
34 # default definitions #
35 ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG")
36 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"PS\"")
37 ADD_DEFINITIONS("-DPLUGIN_VERSION=${VERSION}")
38 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
39
40 # model definitions #
41 ADD_DEFINITIONS("-DTIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL")
42
43 MESSAGE(${CMAKE_C_FLAGS})
44 MESSAGE(${pkgs_LDFLAGS})
45
46 SET(SRCS
47         src/desc-ps.c
48         src/ps_main.c
49         src/ps_master.c
50         src/ps_modem.c
51         src/ps_service.c
52         src/ps_context.c
53         src/ps_tcore-interface.c
54         src/ps_hook.c
55         src/ps_log.c
56         src/ps_util.c
57 )
58
59 ADD_SUBDIRECTORY(interface)
60
61 # library build
62 ADD_LIBRARY(ps-plugin SHARED ${SRCS} ${INTERFACE_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/interface/generated-code.c)
63 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/interface/generated-code.c PROPERTIES GENERATED 1)
64 ADD_DEPENDENCIES(ps-plugin generated_code)
65 TARGET_LINK_LIBRARIES(ps-plugin ${pkgs_LDFLAGS})
66 SET_TARGET_PROPERTIES(ps-plugin PROPERTIES PREFIX "" OUTPUT_NAME ps-plugin)
67
68 # install
69 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
70 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db_upgrade_30_40.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
71 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/500.dnet_db_upgrade_30_40.sh DESTINATION ${DATAROOTDIR}/upgrade/scripts)
72 INSTALL(FILES ${RES_DIR}/dnet_db_init.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
73 INSTALL(TARGETS ps-plugin LIBRARY DESTINATION ${LIBDIR}/telephony/plugins)