cmake_minimum_required(VERSION 2.6)
PROJECT(uqmi C)
-ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations)
+
+OPTION(BUILD_STATIC OFF)
+
+ADD_DEFINITIONS(-Os -ggdb -Wall -Werror --std=gnu99 -Wmissing-declarations -Wno-enum-conversion)
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
SET(SOURCES main.c dev.c commands.c qmi-message.c)
-FIND_LIBRARY(json json-c json)
-SET(LIBS ubox blobmsg_json ${json})
+FIND_PATH(ubox_include_dir libubox/usock.h)
+FIND_PATH(blobmsg_json_include_dir libubox/blobmsg_json.h)
+FIND_PATH(json_include_dir json-c/json.h json/json.h json.h)
+INCLUDE_DIRECTORIES(${ubox_include_dir} ${blobmsg_json_include_dir} ${json_include_dir})
+
+IF(BUILD_STATIC)
+ FIND_LIBRARY(json_library NAMES libjson.a libjson-c.a)
+ FIND_LIBRARY(blobmsg_json_library NAMES libblobmsg_json.a)
+ FIND_LIBRARY(ubox_library NAMES libubox.a)
+ELSE(BUILD_STATIC)
+ FIND_LIBRARY(json_library NAMES json-c json)
+ FIND_LIBRARY(blobmsg_json_library NAMES blobmsg_json)
+ FIND_LIBRARY(ubox_library NAMES ubox)
+ENDIF(BUILD_STATIC)
+
+SET(LIBS ${ubox_library} ${blobmsg_json_library} ${json_library})
IF(DEBUG_PACKET)
ADD_DEFINITIONS(-DDEBUG_PACKET)
SET(service_headers)
SET(service_sources)
-FOREACH(service ctl dms nas pds wds wms)
+FOREACH(service ctl dms nas pds wds wms wda)
ADD_CUSTOM_COMMAND(
OUTPUT qmi-message-${service}.h
COMMAND ./data/gen-header.pl ${service}_ ./data/qmi-service-${service}.json > qmi-message-${service}.h