CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(ps-plugin C) #INCLUDE(FindPkgConfig) SET(PREFIX ${CMAKE_INSTALL_PREFIX}) SET(EXEC_PREFIX "\${prefix}") SET(LIBDIR ${LIB_INSTALL_DIR}) SET(INCLUDEDIR "\${prefix}/include") SET(DATAROOTDIR "\${prefix}/share") if(NOT DEFINED SYSCONFDIR) SET(SYSCONFDIR "/etc") endif() # Set required packages INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED glib-2.0 gio-2.0 gio-unix-2.0 tcore iniparser vconf alarm-service libxml-2.0 libtzplatform-config capi-system-device capi-system-info tfeature) FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/interface/ ${CMAKE_SOURCE_DIR}/interface/include ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/cmake_tmp ) 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 -Wno-cast-function-type") ### Purge unused code ### SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections") SET(RES_DIR ${CMAKE_SOURCE_DIR}/resources/lte) # The resource file dnet_db_init.sql is to be overwritten at post time for TV/IVI. # default definitions # ADD_DEFINITIONS("-DFEATURE_TLOG_DEBUG") ADD_DEFINITIONS("-DTCORE_LOG_TAG=\"PS\"") ADD_DEFINITIONS("-DPLUGIN_VERSION=${VERSION}") ADD_DEFINITIONS("-DEXPORT_API=__attribute__((visibility(\"default\")))") # model definitions # ADD_DEFINITIONS("-DTIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL") MESSAGE(${CMAKE_C_FLAGS}) MESSAGE(${pkgs_LDFLAGS}) SET(SRCS src/desc-ps.c src/ps_main.c src/ps_master.c src/ps_modem.c src/ps_service.c src/ps_context.c src/ps_tcore-interface.c src/ps_hook.c src/ps_log.c src/ps_util.c ) ADD_SUBDIRECTORY(interface) # library build ADD_LIBRARY(ps-plugin SHARED ${SRCS} ${INTERFACE_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/interface/generated-code.c) SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/interface/generated-code.c PROPERTIES GENERATED 1) ADD_DEPENDENCIES(ps-plugin generated_code) TARGET_LINK_LIBRARIES(ps-plugin ${pkgs_LDFLAGS}) SET_TARGET_PROPERTIES(ps-plugin PROPERTIES PREFIX "" OUTPUT_NAME ps-plugin) # install INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/dnet_db.sql DESTINATION ${DATAROOTDIR}/ps-plugin) INSTALL(FILES ${RES_DIR}/dnet_db_init.sql DESTINATION ${DATAROOTDIR}/ps-plugin) INSTALL(TARGETS ps-plugin LIBRARY DESTINATION ${LIBDIR}/telephony/plugins)