cmake_minimum_required(VERSION 3.18)
INCLUDE (CheckIncludeFiles)
INCLUDE(FindPkgConfig)

PROJECT(uniberg-uconfigd C)

SET(SOURCES
	announcement.c
	controller.c
	http.c
	log.c
	ubus.c
	uconfigd.c
)

ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations)

FIND_LIBRARY(libjson NAMES json-c json)
FIND_PACKAGE(CURL REQUIRED)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR})
LIST(APPEND LIBS_EXTRA ${CURL_LIBRARIES})

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE")

ADD_EXECUTABLE(uniberg-uconfigd ${SOURCES})

TARGET_LINK_LIBRARIES(uniberg-uconfigd ubox ubus blobmsg_json ${libjson} ${LIBS_EXTRA})

SET(CMAKE_INSTALL_PREFIX /usr)

INSTALL(TARGETS uniberg-uconfigd
	RUNTIME DESTINATION bin
)
