Tizen 2.1 base
[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 "\${prefix}/lib")
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 dbus-glib-1 dlog tcore iniparser)
18
19 FOREACH(flag ${pkgs_CFLAGS})
20         SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
21 ENDFOREACH(flag)
22
23 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/)
24
25 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wredundant-decls -Wcast-align")
26
27 ADD_DEFINITIONS("-DFEATURE_DLOG_DEBUG")
28 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"TEL_PLUGIN_PACKETSERVICE\"")
29
30 MESSAGE(${CMAKE_C_FLAGS})
31 MESSAGE(${CMAKE_EXE_LINKER_FLAGS})
32
33 SET(SRCS
34                 src/main.c
35                 src/master.c
36                 src/modem.c
37                 src/service.c
38                 src/context.c
39                 src/error.c
40                 src/tcore-interface.c
41 )
42
43 # library build
44 ADD_LIBRARY(ps-plugin SHARED ${SRCS})
45 TARGET_LINK_LIBRARIES(ps-plugin ${pkgs_LDFLAGS})
46 SET_TARGET_PROPERTIES(ps-plugin PROPERTIES PREFIX "" OUTPUT_NAME ps-plugin)
47
48 ADD_CUSTOM_TARGET(ps-iface-master-glue.h
49         COMMAND dbus-binding-tool --mode=glib-server --prefix=ps_iface_master
50         --output=${CMAKE_SOURCE_DIR}/include/ps-iface-master-glue.h
51         ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-master.xml
52         DEPENDS ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-master.xml
53 )
54 ADD_CUSTOM_TARGET(ps-iface-modem-glue.h
55         COMMAND dbus-binding-tool --mode=glib-server --prefix=ps_iface_modem
56         --output=${CMAKE_SOURCE_DIR}/include/ps-iface-modem-glue.h
57         ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-modem.xml
58         DEPENDS ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-modem.xml
59 )
60 ADD_CUSTOM_TARGET(ps-iface-service-glue.h
61         COMMAND dbus-binding-tool --mode=glib-server --prefix=ps_iface_service
62         --output=${CMAKE_SOURCE_DIR}/include/ps-iface-service-glue.h
63         ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-service.xml
64         DEPENDS ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-service.xml
65 )
66 ADD_CUSTOM_TARGET(ps-iface-context-glue.h
67         COMMAND dbus-binding-tool --mode=glib-server --prefix=ps_iface_context
68         --output=${CMAKE_SOURCE_DIR}/include/ps-iface-context-glue.h
69         ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-context.xml
70         DEPENDS ${CMAKE_SOURCE_DIR}/interfaces/ps-iface-context.xml
71 )
72
73 ADD_DEPENDENCIES(${PROJECT_NAME} ps-iface-master-glue.h)
74 ADD_DEPENDENCIES(${PROJECT_NAME} ps-iface-modem-glue.h)
75 ADD_DEPENDENCIES(${PROJECT_NAME} ps-iface-service-glue.h)
76 ADD_DEPENDENCIES(${PROJECT_NAME} ps-iface-context-glue.h)
77
78 # install
79 INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/ps-plugin.conf DESTINATION ${SYSCONFDIR}/dbus-1/system.d)
80 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
81 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db_data.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
82 INSTALL(TARGETS ps-plugin LIBRARY DESTINATION lib/telephony/plugins)
83 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME tel-plugin-packetservice)