From 48596d14f3aa3946fb53c632ca0f38827097951a Mon Sep 17 00:00:00 2001 From: Mathias Preiner Date: Wed, 15 Aug 2018 12:53:43 -0700 Subject: cmake: Add module finder for readline. --- cmake/FindReadline.cmake | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 cmake/FindReadline.cmake (limited to 'cmake/FindReadline.cmake') diff --git a/cmake/FindReadline.cmake b/cmake/FindReadline.cmake new file mode 100644 index 000000000..2448f73cb --- /dev/null +++ b/cmake/FindReadline.cmake @@ -0,0 +1,31 @@ +# Find Readline +# Readline_FOUND - system has Readline lib +# Readline_INCLUDE_DIR - the Readline include directory +# Readline_LIBRARIES - Libraries needed to use Readline + +find_path(Readline_INCLUDE_DIR NAMES readline/readline.h) +find_library(Readline_LIBRARIES NAMES readline) + +# Check which standard of readline is installed on the system. +# https://github.com/CVC4/CVC4/issues/702 +if(Readline_INCLUDE_DIR) + include(CheckCXXSourceCompiles) + set(CMAKE_REQUIRED_QUIET TRUE) + set(CMAKE_REQUIRED_LIBRARIES readline) + check_cxx_source_compiles( + "#include + #include + char* foo(const char*, int) { return (char*)0; } + int main() { rl_completion_entry_function = foo; return 0; }" + Readline_COMPENTRY_FUNC_RETURNS_CHARPTR + ) +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Readline + DEFAULT_MSG Readline_INCLUDE_DIR Readline_LIBRARIES) +mark_as_advanced( + Readline_INCLUDE_DIR + Readline_LIBRARIES + Readline_COMPENTRY_FUNC_RETURNS_CHARPTR +) -- cgit v1.2.3