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

PROJECT(auther C)

SET(SOURCES
	http.c
	log.c
	main.c
	permission.c
	sha256.c
	ubus.c
)

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

FIND_PACKAGE(OpenSSL REQUIRED)
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
LIST(APPEND LIBS_EXTRA ${OPENSSL_LIBRARIES})

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

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

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

ADD_EXECUTABLE(auther ${SOURCES})

TARGET_LINK_LIBRARIES(auther ubox ubus blobmsg_json ${LIBS_EXTRA} ${libjson} ${LIBNL_LIBRARIES})

SET(CMAKE_INSTALL_PREFIX /usr)

INSTALL(TARGETS auther
	RUNTIME DESTINATION bin
)
