This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/cmake/FindReadline.cmake

93 lines
2.9 KiB
CMake
Raw Normal View History

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]
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-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-14 12:05:43 +00:00
# Sometimes readline really needs ncurses
FIND_LIBRARY(READLINE_ncurses_LIBRARY NAMES ncurses)
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(
READLINE_INCLUDE_DIR
READLINE_readline_LIBRARY
READLINE_ncurses_LIBRARY
2017-11-10 23:08:35 +00:00
READLINE_tinfo_LIBRARY
READLINE_ncursesw_LIBRARY
READLINE_tinfow_LIBRARY
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
${READLINE_readline_LIBRARY}
)
# 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(
READLINE_FOUND
2017-10-17 00:13:09 +01:00
HAVE_LIBREADLINE
2016-08-01 12:54:28 +01:00
)