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 gio-2.0 gio-unix-2.0 tcore libtzplatform-config iniparser)
19 FOREACH(flag ${pkgs_CFLAGS})
20 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
23 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/cmake_tmp )
25 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
26 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -fvisibility=hidden -fPIC")
27 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wcast-align")
29 ### Purge unused code ###
30 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
32 ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG")
33 ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"PS\"")
34 ADD_DEFINITIONS("-DPLUGIN_VERSION=${VERSION}")
35 ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))")
37 MESSAGE(${CMAKE_C_FLAGS})
38 MESSAGE(${pkgs_LDFLAGS})
49 SET(INTROSPECTION_PATH ${CMAKE_SOURCE_DIR}/introspection)
52 OUTPUT ${CMAKE_BINARY_DIR}/generated-code.c
53 COMMAND gdbus-codegen --interface-prefix com.tcore.ps.
54 --generate-c-code generated-code
55 --c-namespace PacketService
56 --c-generate-object-manager
57 --generate-docbook generated-docs
58 ${INTROSPECTION_PATH}/master.xml
59 ${INTROSPECTION_PATH}/modem.xml
60 ${INTROSPECTION_PATH}/service.xml
61 ${INTROSPECTION_PATH}/context.xml
62 COMMENT "Generating GDBus .c/.h"
66 ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS} ${CMAKE_BINARY_DIR}/generated-code.c)
67 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
68 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES PREFIX "" OUTPUT_NAME ${PROJECT_NAME})
71 INSTALL(FILES ${CMAKE_SOURCE_DIR}/src/ps-plugin.conf DESTINATION ${SYSCONFDIR}/dbus-1/system.d)
72 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
73 INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db_data.sql DESTINATION ${DATAROOTDIR}/ps-plugin)
74 INSTALL(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${LIB_INSTALL_DIR}/telephony/plugins)
75 INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME tel-plugin-packetservice)