file(GLOB items *)

set(fx_assemblies fx.runtime fx.collections fx.serial)
set(fx_enable_floating_point 0)
set(fx_enable_tests 0)

add_subdirectory(
	${CMAKE_SOURCE_DIR}/kernel/libmagenta
	${CMAKE_CURRENT_BINARY_DIR}/libmagenta)

rosetta_wrap_library(
	NAME libmagenta
	PUBLIC_INCLUDE_DIRS
		${CMAKE_SOURCE_DIR}/kernel/libmagenta/include
		${CMAKE_SOURCE_DIR}/kernel/libmagenta/include-user
	SOURCES ${asm_sources}
	HEADERS ${headers})

sysroot_add_library(
	NAME libmagenta
	HEADER_DIR /usr/include
	LIB_DIR /usr/lib)

foreach(item ${items})
	if (NOT IS_DIRECTORY ${item})
		continue()
	endif ()

	add_subdirectory(${item})
endforeach (item)

foreach (assembly ${fx_assemblies})
	target_link_libraries(${assembly} libc libpthread)
	target_link_options(${assembly} PRIVATE -Wl,--soname,lib${assembly}.so)
	rosetta_wrap_library(
		NAME ${assembly}
		PUBLIC_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/libfx/${module}/include)
	set_target_properties(${assembly} PROPERTIES
		PREFIX "lib")
	sysroot_add_library(
		NAME ${assembly}
		HEADER_DIR /usr/include
		LIB_DIR /usr/lib)
	bsp_add_library(
		NAME ${assembly}
		LIB_DIR /usr/lib)
endforeach (assembly)

