cmake_minimum_required (VERSION 3.0)

project (netifd)

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

include_directories ($ENV{INC_DIR}/libnl3)

set (CMAKE_MODULE_PATH "${MODULE_PATH}")

set(DISABLE_TARGET_OPTIMIZATION ON)

include (br)

file (
	GLOB_RECURSE
	source_files

	$ENV{SRC_DIR}/src/3P/netifd/main.c
	$ENV{SRC_DIR}/src/3P/netifd/utils.c
	$ENV{SRC_DIR}/src/3P/netifd/system.c
	$ENV{SRC_DIR}/src/3P/netifd/tunnel.c
	$ENV{SRC_DIR}/src/3P/netifd/handler.c
	$ENV{SRC_DIR}/src/3P/netifd/interface.c
	$ENV{SRC_DIR}/src/3P/netifd/interface-ip.c
	$ENV{SRC_DIR}/src/3P/netifd/interface-event.c
	$ENV{SRC_DIR}/src/3P/netifd/iprule.c
	$ENV{SRC_DIR}/src/3P/netifd/proto.c
	$ENV{SRC_DIR}/src/3P/netifd/proto-static.c
	$ENV{SRC_DIR}/src/3P/netifd/proto-shell.c
	$ENV{SRC_DIR}/src/3P/netifd/config.c
	$ENV{SRC_DIR}/src/3P/netifd/device.c
	$ENV{SRC_DIR}/src/3P/netifd/bridge.c
	$ENV{SRC_DIR}/src/3P/netifd/vlan.c
	$ENV{SRC_DIR}/src/3P/netifd/alias.c
	$ENV{SRC_DIR}/src/3P/netifd/macvlan.c
	$ENV{SRC_DIR}/src/3P/netifd/ubus.c
	$ENV{SRC_DIR}/src/3P/netifd/vlandev.c
	$ENV{SRC_DIR}/src/3P/netifd/wireless.c

	$ENV{SRC_DIR}/src/3P/netifd/system-linux.c
	)


add_executable (netifd ${source_files})
target_link_libraries (netifd ubox ubus json-c blobmsg_json uci nl-3)

install (TARGETS netifd RUNTIME DESTINATION ../sbin)
