diff options
| author | uvok | 2026-01-11 11:03:10 +0100 |
|---|---|---|
| committer | uvok | 2026-01-11 11:03:10 +0100 |
| commit | cf638ff41dab087910b9b6b7930e620773a6a433 (patch) | |
| tree | 308a0c0e65635a1d9c71582a3f0938357d8b25ea /nandgame/cpp/CMakeLists.txt | |
| parent | a538fb5524fa771a16e8cc291cae6cce46ea546d (diff) | |
Improve Cmake file
use proper scoping and package finding.
Diffstat (limited to 'nandgame/cpp/CMakeLists.txt')
| -rw-r--r-- | nandgame/cpp/CMakeLists.txt | 16 |
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() |
