aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-05-09 23:03:00 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-05-09 23:03:00 -0300
commitc375b1c69665ae7c16ffa3f17264386dfc257d8e (patch)
treec0a45b370512ae6d4b4a9500c244419567a357ef /CMakeLists.txt
parent921de259fa441fb562aec701f0c8c14310f126e4 (diff)
downloadRNT-c375b1c69665ae7c16ffa3f17264386dfc257d8e.tar.gz
RNT-c375b1c69665ae7c16ffa3f17264386dfc257d8e.zip
FOL VM with cursor mocked storage
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt38
1 files changed, 38 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..77d2321
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,38 @@
+cmake_minimum_required(VERSION 3.20)
+project(RelationalNT LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
+# Toggle the "Press Enter to exit" prompt. ON by default for interactive runs;
+# set -DNT_WAIT_ON_EXIT=OFF on the cmake command line to disable (e.g. in CI).
+option(NT_WAIT_ON_EXIT "Wait for Enter key before exiting the console app" ON)
+
+set(SOURCES
+ src/CursorManager.cpp
+ src/HandlerManager.cpp
+ src/IdentityManager.cpp
+ src/LifecycleManager.cpp
+ src/NamespaceReferenceManager.cpp
+ src/NT.cpp
+ src/ObjectManager.cpp
+ src/PermissionsManager.cpp
+ src/VM.cpp
+)
+
+add_executable(RNT ${SOURCES})
+
+target_include_directories(RNT PRIVATE include)
+
+target_compile_definitions(RNT PRIVATE NT_CONSOLE_APP)
+
+if(NT_WAIT_ON_EXIT)
+ target_compile_definitions(RNT PRIVATE NT_WAIT_ON_EXIT)
+endif()
+
+if(MSVC)
+ target_compile_options(RNT PRIVATE /W4)
+else()
+ target_compile_options(RNT PRIVATE -Wall -Wextra)
+endif()