project(env) message(STATUS " here in bsp/env") message(STATUS " BOARD: ${BOARD}") # Enable ASM language enable_language(ASM) set(ASM_SOURCES entry.S start.S ) add_library(asm_obj OBJECT ${ASM_SOURCES}) set_target_properties(asm_obj PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bare-metal-bsp/${PROJECT_NAME}) target_include_directories(asm_obj PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${BSP_BASE}/include #include/ ${BSP_BASE}/env ${BSP_BASE}/env/${BOARD} ${BSP_BASE}/drivers ) # Export variables for hello-world to use set(ENV_OBJECTS $ PARENT_SCOPE ) set(BOARD_LIB_NAME ${BOARD}) message(STATUS " BOARD_LIB_NAME: ${BOARD_LIB_NAME}") set(BOARD_LIB_SRC ${BOARD}/init.c ${BOARD}/write.c ) add_library(${BOARD_LIB_NAME} STATIC ${BOARD_LIB_SRC}) set_target_properties(${BOARD_LIB_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bare-metal-bsp/${PROJECT_NAME}) # Set ASM compile options #set(CMAKE_ASM_COMPILER riscv64-unknown-elf-as) #set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI}") #add_subdirectory(${BOARD}) target_include_directories(${BOARD_LIB_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${BSP_BASE}/include ${BSP_BASE}/libwrap/sys ${BSP_BASE}/env ${BSP_BASE}/env/${BOARD} ${BSP_BASE}/drivers ) # Include the ISS board configuration #set(ISS_SOURCE_DIR "${CMAKE_SOURCE_DIR}/bare-metal-bsp/env/iss") #set(ISS_BINARY_DIR "${CMAKE_BINARY_DIR}/iss_build") #add_subdirectory(${ISS_SOURCE_DIR} ${ISS_BINARY_DIR}) # Export board library #set(BOARD_LIB board_iss PARENT_SCOPE)