blob: 4b7e783949fbe1cc7bf8e84e054af3492ced066a [file]
cmake_minimum_required(VERSION 3.13.4)
#-------------------------------------------------------------------------------
# Project configuration
#-------------------------------------------------------------------------------
project(iree-riscv32)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(BUILD_RV64_LINUX OFF CACHE BOOL "Build RISC-V 64-bit Linux target (default: OFF)")
set(ITCM_LENGTH "256K" CACHE STRING "ITCM (I-mem) Length (default: 256K)")
add_link_options("LINKER:--defsym=__itcm_length__=${ITCM_LENGTH}")
set(STACK_SIZE "10K" CACHE STRING "Stack size (default: 10K)")
add_link_options("LINKER:--defsym=__stack_size__=${STACK_SIZE}")
#-------------------------------------------------------------------------------
# IREE-specific settings
#-------------------------------------------------------------------------------
set(IREE_BUILD_COMPILER OFF)
set(IREE_ENABLE_MLIR OFF)
set(IREE_BUILD_SAMPLES ON)
set(IREE_ENABLE_THREADING OFF)
set(IREE_BUILD_TESTS OFF)
set(IREE_BUILD_BINDINGS_TFLITE OFF)
set(IREE_HAL_DRIVERS_TO_BUILD "Dylib;VMVX")
#-------------------------------------------------------------------------------
# IREE-specific definitions
#-------------------------------------------------------------------------------
set(SPRINGBOK_CONFIG_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/springbok_config.h")
add_definitions(-DFLATCC_USE_GENERIC_ALIGNED_ALLOC)
if(NOT ${BUILD_RV64_LINUX})
add_definitions(-DIREE_PLATFORM_GENERIC)
add_definitions(-DIREE_SYNCHRONIZATION_DISABLE_UNSAFE=1)
add_definitions(-DIREE_FILE_IO_ENABLE=0)
add_definitions(-DIREE_USER_CONFIG_H="${SPRINGBOK_CONFIG_HEADER}")
endif()
# Build IREE runtime libraries.
add_subdirectory($ENV{ROOTDIR}/toolchain/iree iree)
# Apply IREE's CMake variables and build options so we can use IREE build
# functions properly in this project.
include($ENV{ROOTDIR}/toolchain/iree/build_tools/cmake/iree_copts.cmake)
# Include springbok log functions.
include_directories(BEFORE SYSTEM "$ENV{ROOTDIR}/sw/vec/springbok/include")
# Add the included directory here.
add_subdirectory(samples)