1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
4 #INCLUDE(FindPkgConfig)
6 # Set required packages
8 pkg_check_modules(pkgs REQUIRED glib-2.0 gio-2.0 gio-unix-2.0 tcore iniparser)
10 FOREACH(flag ${pkgs_CFLAGS})
11 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
14 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include/ ${CMAKE_CURRENT_SOURCE_DIR}/../include/ )
16 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
17 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wextra -fvisibility=hidden -fPIC")
18 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wmissing-declarations -Wcast-align")
20 ### Purge unused code ###
21 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdata-sections -ffunction-sections -Wl,--gc-sections")
22 SET(INTROSPECTION_PATH "${CMAKE_CURRENT_SOURCE_DIR}/introspection")
25 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated-code.c
26 COMMAND gdbus-codegen --interface-prefix com.tcore.ps. --generate-c-code generated-code --c-namespace PacketService --c-generate-object-manager --generate-docbook generated-docs ${INTROSPECTION_PATH}/master.xml ${INTROSPECTION_PATH}/modem.xml ${INTROSPECTION_PATH}/service.xml ${INTROSPECTION_PATH}/context.xml
27 COMMENT "Generating GDBus .c/.h")
29 ADD_CUSTOM_TARGET(generated_code DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/generated-code.c)
32 ${CMAKE_CURRENT_SOURCE_DIR}/src/ps_master_interface.c
33 ${CMAKE_CURRENT_SOURCE_DIR}/src/ps_modem_interface.c
34 ${CMAKE_CURRENT_SOURCE_DIR}/src/ps_service_interface.c
35 ${CMAKE_CURRENT_SOURCE_DIR}/src/ps_context_interface.c
36 #${CMAKE_CURRENT_BINARY_DIR}/generated-code.c