blob: 6656648777606934bc0db3e1159de040a6b3153a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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()
|