summaryrefslogtreecommitdiff
path: root/nandgame/cpp
diff options
context:
space:
mode:
authoruvok2026-01-11 11:03:10 +0100
committeruvok2026-01-11 11:03:10 +0100
commitcf638ff41dab087910b9b6b7930e620773a6a433 (patch)
tree308a0c0e65635a1d9c71582a3f0938357d8b25ea /nandgame/cpp
parenta538fb5524fa771a16e8cc291cae6cce46ea546d (diff)
Improve Cmake file
use proper scoping and package finding.
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()