diff --git a/CMake/Modules/FindReadline.cmake b/CMake/Modules/FindReadline.cmake new file mode 100644 index 0000000000000000000000000000000000000000..19c32fdd4f11c528f316a997c3ef4a5c30d5d6cc --- /dev/null +++ b/CMake/Modules/FindReadline.cmake @@ -0,0 +1,34 @@ +# - Try to find readline include dirs and libraries +# +# Usage of this module as follows: +# +# find_package(Readline) +# +# Variables defined by this module: +# +# READLINE_FOUND System has readline, include and lib dirs found +# Readline_INCLUDE_DIR The readline include directories. +# Readline_LIBRARY The readline library. + +find_path(READLINE_INCLUDE_DIR NAMES readline/readline.h) +find_library(READLINE_LIBRARY NAMES readline HINTS) + +if(READLINE_INCLUDE_DIR) + file(READ "${READLINE_INCLUDE_DIR}/readline/readline.h" READLINE_VERSION_FILE) + + string(REGEX MATCH "RL_VERSION_MAJOR[\ \t]*([0-9]*)" _ ${READLINE_VERSION_FILE}) + set(READLINE_VERSION ${CMAKE_MATCH_1}) + + string(REGEX MATCH "RL_VERSION_MINOR[\ \t]*([0-9]*)" _ ${READLINE_VERSION_FILE}) + set(READLINE_VERSION "${READLINE_VERSION}.${CMAKE_MATCH_1}") +endif() + +# Handle the QUIETLY and REQUIRED arguments and set GRAPHVIZ_FOUND to TRUE if all listed variables are TRUE. +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Readline + FOUND_VAR READLINE_FOUND + REQUIRED_VARS READLINE_INCLUDE_DIR READLINE_LIBRARY + VERSION_VAR READLINE_VERSION + ) + +mark_as_advanced(READLINE_INCLUDE_DIR READLINE_LIBRARY) diff --git a/CMake/Modules/Findreadline.cmake b/CMake/Modules/Findreadline.cmake deleted file mode 100644 index c3e32b79f479d4834fdbb417afba728c3951b302..0000000000000000000000000000000000000000 --- a/CMake/Modules/Findreadline.cmake +++ /dev/null @@ -1,47 +0,0 @@ -# - Try to find readline include dirs and libraries -# -# Usage of this module as follows: -# -# find_package(Readline) -# -# Variables used by this module, they can change the default behaviour and need -# to be set before calling find_package: -# -# Readline_ROOT_DIR Set this variable to the root installation of -# readline if the module has problems finding the -# proper installation path. -# -# Variables defined by this module: -# -# READLINE_FOUND System has readline, include and lib dirs found -# Readline_INCLUDE_DIR The readline include directories. -# Readline_LIBRARY The readline library. - -find_path(Readline_ROOT_DIR - NAMES include/readline/readline.h - ) - -find_path(Readline_INCLUDE_DIR - NAMES readline/readline.h - HINTS ${Readline_ROOT_DIR}/include - ) - -find_library(Readline_LIBRARY - NAMES readline - HINTS ${Readline_ROOT_DIR}/lib - ) - -if (Readline_INCLUDE_DIR AND Readline_LIBRARY AND Ncurses_LIBRARY) - set(READLINE_FOUND TRUE) -else (Readline_INCLUDE_DIR AND Readline_LIBRARY AND Ncurses_LIBRARY) - FIND_LIBRARY(Readline_LIBRARY NAMES readline) - include(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(Readline DEFAULT_MSG Readline_INCLUDE_DIR Readline_LIBRARY) - MARK_AS_ADVANCED(Readline_INCLUDE_DIR Readline_LIBRARY) -endif (Readline_INCLUDE_DIR AND Readline_LIBRARY AND Ncurses_LIBRARY) - -mark_as_advanced( - Readline_ROOT_DIR - Readline_INCLUDE_DIR - Readline_LIBRARY -) diff --git a/CMake/generate.conf b/CMake/generate.conf index 490dd0604f4e71ff5e988905bf93703a8d37e902..09c61c5aa679038be90f7c6ed74e4eb4de557230 100644 --- a/CMake/generate.conf +++ b/CMake/generate.conf @@ -62,6 +62,6 @@ include: ${JSONCPP_INCLUDE_DIR} find: jsoncpp REQUIRED [CMake:Deps:readline] -link: ${Readline_LIBRARY} -include: ${Readline_INCLUDE_DIR} -find: readline REQUIRED +link: ${READLINE_LIBRARY} +include: ${READLINE_INCLUDE_DIR} +find: Readline REQUIRED