if(IDF_TARGET)
	idf_build_get_property(PNAME PROJECT_NAME)
	set(COMMON_REQUIRES errors esp_timer rs485)
	set(FW_REQUIRES ${COMMON_REQUIRES} logging ota)
	if("${PNAME}" STREQUAL "erbi")
		set(COMPONENT_REQUIRES ${FW_REQUIRES} esp_eth esp_netif mcp9803)
	elseif("${PNAME}" STREQUAL "bsda")
		set(COMPONENT_REQUIRES ${FW_REQUIRES} esp_eth esp_netif i2c mcp9803)
	elseif("${PNAME}" STREQUAL "bsda_factory")
		set(COMPONENT_REQUIRES ${FW_REQUIRES} esp_eth esp_netif i2c)
	else()
		set(COMPONENT_REQUIRES ${FW_REQUIRES} esp_eth esp_netif logging i2c mcp9803)
	endif()
endif()

#file(GLOB SERIAL_SRCS ${CMAKE_CURRENT_LIST_DIR}/serial.cpp)
file(GLOB COMPONENT_SRCS fw/cmds/*.cpp fw/*.cpp fw/cmds/ebi/*.cpp)

if(IDF_TARGET)
	if("${PNAME}" STREQUAL "erbi")
		list(FILTER COMPONENT_SRCS EXCLUDE REGEX "id.cpp")
	elseif("${PNAME}" STREQUAL "bsda")
		#list(FILTER COMPONENT_SRCS EXCLUDE REGEX "eth.cpp")
		#list(FILTER COMPONENT_SRCS EXCLUDE REGEX "comm_tcp.cpp")
		#list(FILTER COMPONENT_SRCS EXCLUDE REGEX "net.cpp")
	elseif("${PNAME}" STREQUAL "bsda_factory")
		#list(FILTER COMPONENT_SRCS EXCLUDE REGEX "tcp.cpp")
		list(FILTER COMPONENT_SRCS EXCLUDE REGEX "udp.cpp")
		list(FILTER COMPONENT_SRCS EXCLUDE REGEX "eth.cpp")
		#list(FILTER COMPONENT_SRCS EXCLUDE REGEX "comm_tcp.cpp")
		#list(FILTER COMPONENT_SRCS EXCLUDE REGEX "net.cpp")
		list(FILTER COMPONENT_SRCS EXCLUDE REGEX "shared_temp.cpp")
	endif()

	set(COMPONENT_ADD_INCLUDEDIRS ".;fw/;private/")
	register_component()
endif()

include_directories(${CMAKE_CURRENT_LIST_DIR})
include_directories(${CMAKE_CURRENT_LIST_DIR}/private)
