| | |
| | |
| | |
| | |
| | |
| |
|
| | find_path(READLINE_INCLUDE_DIR readline/readline.h PATH_SUFFIXES include) |
| | mark_as_advanced(READLINE_INCLUDE_DIR) |
| |
|
| | find_library(READLINE_LIBRARY NAMES readline) |
| | mark_as_advanced(READLINE_LIBRARY) |
| |
|
| | if(READLINE_INCLUDE_DIR AND READLINE_LIBRARY) |
| | |
| |
|
| | include(CheckSymbolExists) |
| | include(CMakePushCheckState) |
| |
|
| | set(first_run FALSE) |
| | if(NOT DEFINED HAVE_READLINE_FUNC) |
| | set(first_run TRUE) |
| | endif() |
| |
|
| | cmake_push_check_state(RESET) |
| | set(CMAKE_REQUIRED_LIBRARIES "${READLINE_LIBRARY}") |
| | set(CMAKE_REQUIRED_INCLUDES "${READLINE_INCLUDE_DIR}") |
| | check_symbol_exists("readline" "stdio.h;readline/readline.h" HAVE_READLINE_FUNC) |
| |
|
| | if(NOT HAVE_READLINE_FUNC) |
| | foreach( |
| | lib |
| | IN |
| | ITEMS tinfo curses ncurses ncursesw termcap |
| | ) |
| | find_library(NCURSES_LIBRARY_${lib} NAMES ${lib}) |
| | mark_as_advanced(NCURSES_LIBRARY_${lib}) |
| | if(NCURSES_LIBRARY_${lib}) |
| | cmake_reset_check_state() |
| | set(CMAKE_REQUIRED_LIBRARIES "${READLINE_LIBRARY}" "${NCURSES_LIBRARY_${lib}}") |
| | set(CMAKE_REQUIRED_INCLUDES "${READLINE_INCLUDE_DIR}") |
| | check_symbol_exists("readline" "stdio.h;readline/readline.h" HAVE_READLINE_FUNC_${lib}) |
| |
|
| | if(HAVE_READLINE_FUNC_${lib}) |
| | if(first_run) |
| | message(STATUS "Looking for readline - readline needs ${lib}") |
| | endif() |
| | set(NCURSES_LIBRARY "${NCURSES_LIBRARY_${lib}}" CACHE FILEPATH "Path to the ncurses library") |
| | mark_as_advanced(NCURSES_LIBRARY) |
| | break() |
| | endif() |
| | endif() |
| | endforeach() |
| | endif() |
| |
|
| | cmake_pop_check_state() |
| | endif() |
| |
|
| | include(FindPackageHandleStandardArgs) |
| | find_package_handle_standard_args(Readline DEFAULT_MSG READLINE_LIBRARY READLINE_INCLUDE_DIR) |
| |
|
| | if(Readline_FOUND) |
| | set(READLINE_LIBRARIES "${READLINE_LIBRARY}") |
| | if(DEFINED NCURSES_LIBRARY) |
| | list(APPEND READLINE_LIBRARIES "${NCURSES_LIBRARY}") |
| | endif() |
| | set(READLINE_INCLUDE_DIRS "${READLINE_INCLUDE_DIR}") |
| | endif() |
| |
|