first version of working cmake

This commit is contained in:
2024-12-20 14:33:57 +01:00
parent 90c45d7c3c
commit fddf608418
3 changed files with 42 additions and 30 deletions

View File

@@ -52,7 +52,7 @@ if(NOT DEFINED BOARD)
endif()
if(NOT DEFINED ISA)
set(ISA imc CACHE STRING "Target ISA")
set(ISA rv32imc CACHE STRING "Target ISA")
endif()
if(NOT DEFINED RISCV_ABI)
@@ -69,7 +69,7 @@ if(NOT BOARD IN_LIST SUPPORTED_BOARDS)
endif()
if(NOT ISA IN_LIST SUPPORTED_ISAS)
message(FATAL_ERROR "Invalid ISA specified. Supported ISAs: ${SUPPORTED_ISAS}")
message(FATAL_ERROR "Invalid ISA specified(${ISA}). Supported ISAs: ${SUPPORTED_ISAS}")
endif()
if(NOT RISCV_ABI IN_LIST SUPPORTED_ABIS)
@@ -91,8 +91,10 @@ set(BSP_BASE "${CMAKE_CURRENT_SOURCE_DIR}/bare-metal-bsp")
add_compile_definitions(BOARD_${BOARD})
# RISC-V specific compiler flags
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI}")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -g -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI} -mcmodel=medany")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -g -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI} -mcmodel=medany")
#set(CMAKE_ASM_COMPILER riscv64-unknown-elf-as)
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -O2 -g -march=${RISCV_ARCH}_zicsr_zifencei -mabi=${RISCV_ABI} -mcmodel=medany")
# Optional: Enable semihosting support
option(SEMIHOSTING "Enable semihosting support" OFF)
@@ -101,18 +103,18 @@ if(SEMIHOSTING)
endif()
#create interface library for propagating compile options
add_library(global_compile_options INTERFACE)
#add_library(global_compile_options INTERFACE)
# Compile options
target_compile_options(global_compile_options INTERFACE
-march=${RISCV_ARCH}_zicsr_zifencei
-mabi=${RISCV_ABI}
-mcmodel=medany
-O2
-g
#target_compile_options(global_compile_options INTERFACE
# -march=${RISCV_ARCH}_zicsr_zifencei
# -mabi=${RISCV_ABI}
# -mcmodel=medany
# -O2
# -g
# -ffunction-sections
# -fdata-sections
)
#)