#project(hal)

# create hal library
FILE(GLOB_RECURSE LIB_SRC_NOASM
        "${CMAKE_CURRENT_LIST_DIR}/*.cpp"
        "${CMAKE_CURRENT_LIST_DIR}/*.c"
        )

FILE(GLOB_RECURSE ASSEMBLY_FILES
        "${CMAKE_CURRENT_LIST_DIR}/*.s"
        "${CMAKE_CURRENT_LIST_DIR}/*.S"
        )
SET(LIB_SRC ${LIB_SRC_NOASM} ${ASSEMBLY_FILES})

SET(LIB_INC ${CMAKE_CURRENT_LIST_DIR}/include)

SET_PROPERTY(SOURCE ${ASSEMBLY_FILES} PROPERTY LANGUAGE C)
SET_SOURCE_FILES_PROPERTIES(${ASSEMBLY_FILES} PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp -D __riscv64")

ADD_LIBRARY(hal STATIC ${LIB_SRC})
SET_TARGET_PROPERTIES(hal PROPERTIES LINKER_LANGUAGE C)
TARGET_LINK_LIBRARIES(hal m)

TARGET_INCLUDE_DIRECTORIES(hal PUBLIC ${LIB_INC})