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