Sync from SPIN branch
[platform/core/telephony/tel-plugin-vconf.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2 PROJECT(vconf-plugin C)
3
4 ### Global setting ###
5 SET(PREFIX ${CMAKE_INSTALL_PREFIX})
6 SET(EXEC_PREFIX "\${prefix}")
7 SET(LIBDIR ${LIB_INSTALL_DIR})
8 SET(INCLUDEDIR "\${prefix}/include")
9 SET(PKGCONFIGDIR "${LIBDIR}/pkgconfig" CACHE PATH PKGCONFIGDIR)
10 SET(CMAKE_INSTALL_PREFIX "${PREFIX}")
11
12 # Set required packages
13 INCLUDE(FindPkgConfig)
14 pkg_check_modules(pkgs REQUIRED vconf glib-2.0 tcore)
15
16 FOREACH(flag ${pkgs_CFLAGS})
17         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
18 ENDFOREACH(flag)
19
20
21 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/)
22
23 SET(ADDITIONAL_CFLAGS "-Wall -Wno-array-bounds -Wno-empty-body -Wno-ignored-qualifiers -Wshadow -Wwrite-strings -Wswitch-default -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-strict-aliasing -fno-unroll-loops -fsigned-char -fstrict-overflow -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wcast-qual")
24 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
25 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wextra -fvisibility=hidden -fPIC")
26 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align")
27 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ADDITIONAL_CFLAGS}")
28
29 ### Purge unused code ###
30 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
31
32 ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG")
33 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"SP_VCONF\"")
34 ADD_DEFINITIONS("-DPLUGIN_VERSION=${VERSION}")
35 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
36
37 IF (TIZEN_FEATURE_CDMA)
38         ADD_DEFINITIONS("-DTIZEN_FEATURE_CDMA")
39 ENDIF (TIZEN_FEATURE_CDMA)
40 IF(PREPAID_SIM_APN_SUPPORT)
41         ADD_DEFINITIONS("-DPREPAID_SIM_APN_SUPPORT")
42 ENDIF(PREPAID_SIM_APN_SUPPORT)
43
44 MESSAGE(${CMAKE_C_FLAGS})
45 MESSAGE(${pkgs_LDFLAGS})
46
47 INCLUDE_DIRECTORIES(
48         ${CMAKE_SOURCE_DIR}/include
49 )
50
51 SET(SRCS
52         src/desc-vconf.c
53         src/vconf_main.c
54         src/vconf_core.c
55         src/vconf_handler.c
56 )
57
58
59 # library build
60 ADD_LIBRARY(vconf-plugin SHARED ${SRCS})
61 TARGET_LINK_LIBRARIES(vconf-plugin ${pkgs_LDFLAGS})
62 SET_TARGET_PROPERTIES(vconf-plugin PROPERTIES PREFIX "" OUTPUT_NAME vconf-plugin)
63
64
65
66 # install
67 INSTALL(TARGETS vconf-plugin
68                 LIBRARY DESTINATION ${LIBDIR}/telephony/plugins)
69 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME tel-plugin-vconf)