summaryrefslogtreecommitdiff
path: root/mnv/src/libvterm/CMakeLists.txt
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-04 13:53:48 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-04 13:53:48 +0300
commit580d07d58fdf879a895878a456124a58040c2d3b (patch)
tree9fd1d1ac08e075c4f1eca21bd2fec535422dc5d6 /mnv/src/libvterm/CMakeLists.txt
parent0527273aac8ddd33e92f29188dec4974a0bfde6c (diff)
downloadProject-Tick-580d07d58fdf879a895878a456124a58040c2d3b.tar.gz
Project-Tick-580d07d58fdf879a895878a456124a58040c2d3b.zip
NOISSUE added CMakeLists support in MNV
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to 'mnv/src/libvterm/CMakeLists.txt')
-rw-r--r--mnv/src/libvterm/CMakeLists.txt56
1 files changed, 56 insertions, 0 deletions
diff --git a/mnv/src/libvterm/CMakeLists.txt b/mnv/src/libvterm/CMakeLists.txt
new file mode 100644
index 0000000000..6656648777
--- /dev/null
+++ b/mnv/src/libvterm/CMakeLists.txt
@@ -0,0 +1,56 @@
+# libvterm - Terminal emulation library
+# Built as a static library for MNV's :terminal feature
+
+add_library(vterm STATIC
+ src/encoding.c
+ src/keyboard.c
+ src/mouse.c
+ src/parser.c
+ src/pen.c
+ src/screen.c
+ src/state.c
+ src/unicode.c
+ src/vterm.c
+)
+
+target_include_directories(vterm
+ PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+target_compile_definitions(vterm PRIVATE
+ INLINE=
+)
+
+target_compile_options(vterm PRIVATE
+ -std=c99
+ -Wall
+ -Wpedantic
+)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+ target_compile_definitions(vterm PRIVATE
+ __EXTENSIONS__
+ _XPG6
+ __XOPEN_OR_POSIX
+ )
+endif()
+
+if(MNV_DEBUG)
+ target_compile_definitions(vterm PRIVATE DEBUG)
+ target_compile_options(vterm PRIVATE -ggdb)
+endif()
+
+# Test harness for libvterm (optional)
+if(MNV_BUILD_TESTS AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/t/harness.c")
+ add_executable(vterm_test_harness t/harness.c)
+ target_link_libraries(vterm_test_harness PRIVATE vterm)
+
+ add_test(
+ NAME libvterm_tests
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/run_libvterm_tests.sh
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+endif()