gmod-lcpu/native/projects/riscv/CMakeLists.txt

28 lines
599 B
CMake

cmake_minimum_required(VERSION 3.15)
project(riscv_emu
DESCRIPTION "rv32-ima emulation library"
LANGUAGES CXX
)
add_library(riscv
src/Bus.cpp
src/CPU.cpp
src/System.cpp
# Basic system devices
src/Devices/ClntDevice.cpp
src/Devices/SysconDevice.cpp
src/Devices/RamDevice.cpp
)
target_compile_features(riscv PUBLIC cxx_std_20)
target_include_directories(riscv PUBLIC ${PROJECT_SOURCE_DIR}/include)
target_link_libraries(riscv PUBLIC
# lucore is a public dependency, since it is (techinically) used in public api surfaces
lucore::lucore
)
add_library(riscv::riscv ALIAS riscv)