Skip to content

Commit 0d280a8

Browse files
committed
fix(cmake): add new required TERMINFO variable
Problem: #31 added a new TERMINFO variable that is checked at build time; this was added to the Makefile but not the CMake script (which Neovim uses). Solution: Define TERMINFO in CMakeLists.txt as well, copying the logic from the Makefile.
1 parent f12b4fa commit 0d280a8

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

‎CMakeLists.txt‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,27 @@ set_target_properties(unibilium PROPERTIES PUBLIC_HEADER ${PROJECT_SOURCE_DIR}/u
77
VERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
88

99
if(NOT WIN32)
10+
execute_process(COMMAND sh -c "ncursesw6-config --terminfo 2>/dev/null || \
11+
ncurses6-config --terminfo 2>/dev/null || \
12+
ncursesw5-config --terminfo 2>/dev/null || \
13+
ncurses5-config --terminfo 2>/dev/null || \
14+
echo '/usr/share/terminfo'"
15+
OUTPUT_VARIABLE TERMINFO_DEFAULT)
1016
execute_process(COMMAND sh -c "ncursesw6-config --terminfo-dirs 2>/dev/null || \
1117
ncurses6-config --terminfo-dirs 2>/dev/null || \
1218
ncursesw5-config --terminfo-dirs 2>/dev/null || \
1319
ncurses5-config --terminfo-dirs 2>/dev/null || \
1420
echo '/etc/terminfo:/lib/terminfo:/usr/share/terminfo:/usr/lib/terminfo:/usr/local/share/terminfo:/usr/local/lib/terminfo'"
1521
OUTPUT_VARIABLE TERMINFO_DIRS_DEFAULT)
16-
# Remove trailing newline
22+
# Remove trailing newlines
23+
string(STRIP "${TERMINFO_DEFAULT}" TERMINFO_DEFAULT)
1724
string(STRIP "${TERMINFO_DIRS_DEFAULT}" TERMINFO_DIRS_DEFAULT)
1825
else()
26+
set(TERMINFO_DEFAULT "")
1927
set(TERMINFO_DIRS_DEFAULT "")
2028
endif()
29+
set(TERMINFO "${TERMINFO_DEFAULT}" CACHE STRING "Path to compiled terminfo file unibilium should use at runtime for empty entries in TERMINFO_DIRS")
30+
target_compile_definitions(unibilium PUBLIC "TERMINFO=\"${TERMINFO}\"")
2131
set(TERMINFO_DIRS "${TERMINFO_DIRS_DEFAULT}" CACHE STRING "Colon-separated list of directories where unibilium should look for compiled terminfo files at runtime")
2232
target_compile_definitions(unibilium PUBLIC "TERMINFO_DIRS=\"${TERMINFO_DIRS}\"")
2333

0 commit comments

Comments
 (0)