6
6
7
7
include (CMakePushCheckState)
8
8
9
- function (lldb_check_curses_tinfo CURSES_LIBRARIES CURSES_HAS_TINFO)
9
+ function (lldb_check_curses_tinfo CURSES_INCLUDE_DIRS CURSES_LIBRARIES CURSES_HAS_TINFO)
10
10
cmake_reset_check_state()
11
+ set (CMAKE_REQUIRED_INCLUDES "${CURSES_INCLUDE_DIRS} " )
11
12
set (CMAKE_REQUIRED_LIBRARIES "${CURSES_LIBRARIES} " )
12
13
# acs_map is one of many symbols that are part of tinfo but could
13
14
# be bundled in curses.
14
15
check_symbol_exists(acs_map "curses.h" CURSES_HAS_TINFO)
15
16
endfunction ()
16
17
17
- if (CURSES_INCLUDE_DIRS AND CURSES_LIBRARIES AND TINFO_LIBRARIES AND PANEL_LIBRARIES)
18
+ if (CURSES_INCLUDE_DIRS AND CURSES_LIBRARIES AND PANEL_LIBRARIES)
19
+ if (NOT HAS_TERMINFO_SYMBOLS)
20
+ lldb_check_curses_tinfo("${CURSES_INCLUDE_DIRS} "
21
+ "${CURSES_LIBRARIES} "
22
+ CURSES_HAS_TINFO)
23
+ if (NOT CURSES_HAS_TINFO)
24
+ message (WARNING "CURSES_LIBRARIES was provided manually but is missing terminfo symbols" )
25
+ endif ()
26
+ mark_as_advanced (CURSES_HAS_TINFO)
27
+ endif ()
18
28
set (CURSESANDPANEL_FOUND TRUE )
19
29
else ()
20
30
find_package (Curses QUIET )
@@ -25,8 +35,10 @@ else()
25
35
# Sometimes the curses libraries define their own terminfo symbols,
26
36
# other times they're extern and are defined by a separate terminfo library.
27
37
# Auto-detect which.
28
- lldb_check_curses_tinfo("${CURSES_LIBRARIES} " CURSES_HAS_TINFO)
29
- if (NOT CURSES_HAS_TINFO)
38
+ lldb_check_curses_tinfo("${CURSES_INCLUDE_DIRS} "
39
+ "${CURSES_LIBRARIES} "
40
+ CURSES_HAS_TINFO)
41
+ if (NOT CURSES_HAS_TINFO)
30
42
message (STATUS "curses library missing terminfo symbols, looking for tinfo separately" )
31
43
find_library (TINFO_LIBRARIES NAMES tinfo DOC "The curses tinfo library" QUIET )
32
44
list (APPEND CURSES_LIBRARIES "${TINFO_LIBRARIES} " )
0 commit comments