1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 #INCLUDE(FindPkgConfig)
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")
15 # Set required packages
16 INCLUDE(FindPkgConfig)
17 pkg_check_modules(pkgs REQUIRED glib-2.0 dbus-glib-1 dlog tcore iniparser)
19 FOREACH(flag ${pkgs_CFLAGS})
20 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
23 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include/)
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")
27 ADD_DEFINITIONS("-DFEATURE_DLOG_DEBUG")
28 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"TEL_PLUGIN_PACKETSERVICE\"")
30 MESSAGE(${CMAKE_C_FLAGS})
31 MESSAGE(${CMAKE_EXE_LINKER_FLAGS})
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)
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
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
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
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
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)
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)