2014-12-14 12:05:43 +00:00
# - Find the readline library
# This module defines
# READLINE_INCLUDE_DIR, path to readline/readline.h, etc.
# READLINE_LIBRARIES, the libraries required to use READLINE.
# READLINE_FOUND, If false, do not try to use READLINE.
# also defined, but not for general use are
# READLINE_readline_LIBRARY, where to find the READLINE library.
# READLINE_ncurses_LIBRARY, where to find the ncurses library [might not be defined]
2014-12-04 07:59:30 +00:00
2015-09-21 23:05:36 +01:00
2014-12-14 12:05:43 +00:00
# Apple readline does not support readline hooks
# So we look for another one by default
2015-09-21 23:05:36 +01:00
#
# # try to extract R from readline to avoid collision
2014-12-14 12:05:43 +00:00
FIND_PATH ( READLINE_INCLUDE_DIR NAMES readline/readline.h )
2014-12-04 07:59:30 +00:00
2014-12-14 12:05:43 +00:00
# Apple readline does not support readline hooks
# So we look for another one by default
FIND_LIBRARY ( READLINE_readline_LIBRARY NAMES readline )
2014-12-04 07:59:30 +00:00
2014-12-14 12:05:43 +00:00
# Sometimes readline really needs ncurses
FIND_LIBRARY ( READLINE_ncurses_LIBRARY NAMES ncurses )
2014-12-04 07:59:30 +00:00
2017-11-10 23:08:35 +00:00
FIND_LIBRARY ( READLINE_ncursesw_LIBRARY NAMES ncursesw )
# Sometimes ncurses really needs terminfo
FIND_LIBRARY ( READLINE_tinfo_LIBRARY NAMES tinfo )
FIND_LIBRARY ( READLINE_tinfow_LIBRARY NAMES tinfow )
2014-12-14 12:05:43 +00:00
MARK_AS_ADVANCED (
R E A D L I N E _ I N C L U D E _ D I R
R E A D L I N E _ r e a d l i n e _ L I B R A R Y
R E A D L I N E _ n c u r s e s _ L I B R A R Y
2017-11-10 23:08:35 +00:00
R E A D L I N E _ t i n f o _ L I B R A R Y
R E A D L I N E _ n c u r s e s w _ L I B R A R Y
R E A D L I N E _ t i n f o w _ L I B R A R Y
2014-12-14 12:05:43 +00:00
)
2017-11-10 23:08:35 +00:00
2017-10-17 00:13:09 +01:00
message ( STATUS "readline headers found at ${READLINE_INCLUDE_DIR}" )
2017-11-10 23:08:35 +00:00
message ( STATUS "readline library found at ${READLINE_readline_LIBRARY} ${READLINE_ncurses_LIBRARY} ${READLINE_tinfo_LIBRARY} ${READLINE_ncursesw_LIBRARY} ${READLINE_tinfow_LIBRARY} " )
2017-10-17 00:13:09 +01:00
2017-11-10 23:08:35 +00:00
set ( HAVE_LIBREADLINE FALSE CACHE BOOL "Readline works." )
2017-10-17 00:13:09 +01:00
SET ( READLINE_FOUND "NO" )
2014-12-14 12:05:43 +00:00
IF ( READLINE_INCLUDE_DIR )
IF ( READLINE_readline_LIBRARY )
SET ( READLINE_FOUND "YES" )
2017-11-10 23:08:35 +00:00
MESSAGE ( STATUS "Found readline library" )
set ( HAVE_LIBREADLINE CACHE YES BOOL "Readline works." )
SET ( READLINE_LIBRARIES
2014-12-14 12:05:43 +00:00
$ { R E A D L I N E _ r e a d l i n e _ L I B R A R Y }
)
# some readline libraries depend on ncurses
IF ( READLINE_ncurses_LIBRARY )
2017-11-10 23:08:35 +00:00
list ( APPEND READLINE_LIBRARIES ${ READLINE_ncurses_LIBRARY } )
endif ( )
# some readline libraries depend on ncurses
IF ( READLINE_ncursesw_LIBRARY )
list ( APPEND READLINE_LIBRARIES ${ READLINE_ncursesw_LIBRARY } )
endif ( )
# some readline libraries depend on tinfo
IF ( READLINE_tinfo_LIBRARY )
list ( APPEND READLINE_LIBRARIES ${ READLINE_tinfo_LIBRARY } )
endif ( )
# some readline libraries depend on tinfo
IF ( READLINE_tinfow_LIBRARY )
list ( APPEND READLINE_LIBRARIES ${ READLINE_tinfow_LIBRARY } )
endif ( )
2014-12-14 12:05:43 +00:00
ENDIF ( READLINE_readline_LIBRARY )
ENDIF ( READLINE_INCLUDE_DIR )
2017-10-17 00:13:09 +01:00
2017-11-10 23:08:35 +00:00
IF ( NOT READLINE_FOUND )
IF ( READLINE_FIND_REQUIRED )
2015-09-25 10:57:26 +01:00
MESSAGE ( SYSTEM_ERROR_FATAL "Could not find readline -- please give some paths to CMake" )
2014-12-14 12:05:43 +00:00
ENDIF ( READLINE_FIND_REQUIRED )
2017-11-10 23:08:35 +00:00
ENDIF ( NOT READLINE_FOUND )
2016-08-01 12:54:28 +01:00
2017-11-10 23:08:35 +00:00
find_package_handle_standard_args ( Readline READLINE_INCLUDE_DIR READLINE_LIBRARIES READLINE_readline_LIBRARY READLINE_ncurses_LIBRARY READLINE_tinfo_LIBRARY )
2016-08-01 12:54:28 +01:00
MARK_AS_ADVANCED (
R E A D L I N E _ F O U N D
2017-10-17 00:13:09 +01:00
H A V E _ L I B R E A D L I N E
2016-08-01 12:54:28 +01:00
)