summaryrefslogtreecommitdiff
path: root/nandgame/cpp/CMakeLists.txt
blob: ee184d4395ac916d92965ab1568bc62229879f5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
cmake_minimum_required(VERSION 3.20)

project(simpc)
find_package(verilator HINTS $ENV{VERILATOR_ROOT})

find_package(Curses REQUIRED)

if (Curses_FOUND)
    option(USE_NCURSES "Whether to use ncurses as UI instead of flat terminal" TRUE)
else()
    message(STATUS "Curses library was not found.")
endif()

add_executable(Vcomputer Vcomputer__main.cpp disas.cpp simpc_ui.cpp)
verilate(Vcomputer
    SOURCES ../computer.sv
    TOP_MODULE computer
    TRACE_FST
    INCLUDE_DIRS ..
    VERILATOR_ARGS -CFLAGS -I${CMAKE_CURRENT_SOURCE_DIR}
)

if (USE_NCURSES)
    target_compile_definitions(Vcomputer PRIVATE NCUR)
    target_link_libraries(Vcomputer PRIVATE ncurses)
endif()