• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/uqmi/CMakeLists.txt

  1 cmake_minimum_required(VERSION 3.10)
  2 
  3 PROJECT(uqmi C)
  4 
  5 OPTION(BUILD_STATIC OFF)
  6 OPTION(BUILD_UQMID OFF)
  7 
  8 ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations -Wno-enum-conversion -Wno-dangling-pointer)
  9 
 10 SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
 11 
 12 FIND_PATH(ubox_include_dir libubox/usock.h)
 13 FIND_PATH(blobmsg_json_include_dir libubox/blobmsg_json.h)
 14 FIND_PATH(json_include_dir json-c/json.h json/json.h json.h)
 15 
 16 IF(BUILD_STATIC)
 17   FIND_LIBRARY(json_library NAMES libjson.a libjson-c.a)
 18   FIND_LIBRARY(blobmsg_json_library NAMES libblobmsg_json.a)
 19   FIND_LIBRARY(ubox_library NAMES libubox.a)
 20 ELSE(BUILD_STATIC)
 21   FIND_LIBRARY(json_library NAMES json-c json)
 22   FIND_LIBRARY(blobmsg_json_library NAMES blobmsg_json)
 23   FIND_LIBRARY(ubox_library NAMES ubox)
 24 ENDIF(BUILD_STATIC)
 25 
 26 SET(LIBS ${ubox_library} ${blobmsg_json_library} ${json_library})
 27 
 28 IF(DEBUG_PACKET)
 29   ADD_DEFINITIONS(-DDEBUG_PACKET)
 30 ENDIF()
 31 
 32 IF(DEBUG)
 33   ADD_DEFINITIONS(-DDEBUG -g3)
 34 ENDIF()
 35 
 36 SET(service_headers)
 37 SET(service_sources)
 38 FOREACH(service ctl dms nas pds wds wms wda uim)
 39         ADD_CUSTOM_COMMAND(
 40                 OUTPUT  qmi-message-${service}.h
 41                 COMMAND ${CMAKE_SOURCE_DIR}/data/gen-header.pl ${service}_ ${CMAKE_SOURCE_DIR}/data/qmi-service-${service}.json > qmi-message-${service}.h
 42                 DEPENDS ${CMAKE_SOURCE_DIR}/data/gen-header.pl ${CMAKE_SOURCE_DIR}/data/qmi-service-${service}.json ${CMAKE_SOURCE_DIR}/data/gen-common.pm
 43         )
 44         SET_SOURCE_FILES_PROPERTIES(qmi-message-${service}.h PROPERTIES GENERATED 1)
 45         SET(service_headers ${service_headers} qmi-message-${service}.h)
 46         ADD_CUSTOM_COMMAND(
 47                 OUTPUT  qmi-message-${service}.c
 48                 COMMAND ${CMAKE_SOURCE_DIR}/data/gen-code.pl ${service}_ ${CMAKE_SOURCE_DIR}/data/qmi-service-${service}.json > qmi-message-${service}.c
 49                 DEPENDS ${CMAKE_SOURCE_DIR}/data/gen-code.pl ${CMAKE_SOURCE_DIR}/data/qmi-service-${service}.json ${CMAKE_SOURCE_DIR}/data/gen-common.pm qmi-message-${service}.h
 50         )
 51         SET(service_sources ${service_sources} qmi-message-${service}.c)
 52         SET_SOURCE_FILES_PROPERTIES(qmi-message-${service}.c PROPERTIES GENERATED 1)
 53         set_property(SOURCE qmi-message-${service}.c PROPERTY COMPILE_FLAGS "-Wno-unused")
 54 ENDFOREACH()
 55 
 56 ADD_CUSTOM_COMMAND(
 57         OUTPUT  ${CMAKE_SOURCE_DIR}/qmi-errors.c
 58         COMMAND ${CMAKE_SOURCE_DIR}/data/gen-error-list.pl ${CMAKE_SOURCE_DIR}/qmi-errors.h > qmi-errors.c
 59         DEPENDS ${CMAKE_SOURCE_DIR}/data/gen-error-list.pl ${CMAKE_SOURCE_DIR}/qmi-errors.h
 60 )
 61 SET_SOURCE_FILES_PROPERTIES(qmi-errors.c PROPERTIES GENERATED 1)
 62 ADD_CUSTOM_TARGET(gen-errors DEPENDS qmi-errors.c)
 63 ADD_CUSTOM_TARGET(gen-headers DEPENDS ${service_headers})
 64 
 65 INCLUDE_DIRECTORIES(common ${CMAKE_BINARY_DIR})
 66 ADD_LIBRARY(qmigen ${service_sources})
 67 ADD_DEPENDENCIES(qmigen gen-headers gen-errors)
 68 
 69 ADD_SUBDIRECTORY(common)
 70 ADD_SUBDIRECTORY(uqmi)
 71 
 72 IF(BUILD_UQMID)
 73         FIND_PATH(talloc_include_dir talloc.h)
 74         FIND_PATH(ubus_include_dir libubus.h)
 75         IF(BUILD_STATIC)
 76                 FIND_LIBRARY(talloc_library NAMES libtalloc.a)
 77                 FIND_LIBRARY(ubus_library NAMES libubus.a)
 78         ELSE(BUILD_STATIC)
 79                 FIND_LIBRARY(talloc_library NAMES talloc)
 80                 FIND_LIBRARY(ubus_library NAMES ubus)
 81         ENDIF(BUILD_STATIC)
 82 
 83         ADD_SUBDIRECTORY(uqmid)
 84 ENDIF(BUILD_UQMID)

This page was automatically generated by LXR 0.3.1.  •  OpenWrt