summaryrefslogtreecommitdiff
path: root/nandgame/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'nandgame/cpp')
-rw-r--r--nandgame/cpp/CMakeLists.txt16
1 files changed, 15 insertions, 1 deletions
diff --git a/nandgame/cpp/CMakeLists.txt b/nandgame/cpp/CMakeLists.txt
index 4da5c03..ee184d4 100644
--- a/nandgame/cpp/CMakeLists.txt
+++ b/nandgame/cpp/CMakeLists.txt
@@ -2,11 +2,25 @@ 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} -LDFLAGS -lncurses
+ VERILATOR_ARGS -CFLAGS -I${CMAKE_CURRENT_SOURCE_DIR}
)
+
+if (USE_NCURSES)
+ target_compile_definitions(Vcomputer PRIVATE NCUR)
+ target_link_libraries(Vcomputer PRIVATE ncurses)
+endif()