diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e3a8dd..31c0a70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -306,9 +306,15 @@ ENDIF(PCRE2_SUPPORT_LIBZ) IF(EDITLINE_FOUND) OPTION (PCRE2_SUPPORT_LIBEDIT "Enable support for linking pcre2test with libedit." OFF) ENDIF(EDITLINE_FOUND) -IF(PCRE2_SUPPORT_LIBEDIT) - INCLUDE_DIRECTORIES(${EDITLINE_INCLUDE_DIR}) -ENDIF(PCRE2_SUPPORT_LIBEDIT) +IF(EDITLINE_FOUND) + IF(PCRE2_SUPPORT_LIBEDIT) + INCLUDE_DIRECTORIES(${EDITLINE_INCLUDE_DIR}) + ENDIF(PCRE2_SUPPORT_LIBEDIT) +ELSE(EDITLINE_FOUND) + IF(PCRE2_SUPPORT_LIBEDIT) + MESSAGE(FATAL_ERROR "libedit not found, set Editline_ROOT if needed") + ENDIF(PCRE2_SUPPORT_LIBEDIT) +ENDIF(EDITLINE_FOUND) # readline lib IF(READLINE_FOUND) @@ -346,7 +352,12 @@ IF(PCRE2_BUILD_PCRE2GREP AND NOT PCRE2_BUILD_PCRE2_8) ENDIF(PCRE2_BUILD_PCRE2GREP AND NOT PCRE2_BUILD_PCRE2_8) IF(PCRE2_SUPPORT_LIBREADLINE AND PCRE2_SUPPORT_LIBEDIT) - MESSAGE(FATAL_ERROR "Only one of libreadline or libeditline can be specified") + IF(READLINE_FOUND) + MESSAGE(FATAL_ERROR + " Only one of the readline compatible libraries can be enabled.\n" + " Disable libreadline with -DPCRE2_SUPPORT_LIBREADLINE=OFF" + ) + ENDIF(READLINE_FOUND) ENDIF(PCRE2_SUPPORT_LIBREADLINE AND PCRE2_SUPPORT_LIBEDIT) IF(PCRE2_SUPPORT_BSR_ANYCRLF) diff --git a/cmake/FindEditline.cmake b/cmake/FindEditline.cmake index 2d0b7cc..cbdc458 100644 --- a/cmake/FindEditline.cmake +++ b/cmake/FindEditline.cmake @@ -3,10 +3,10 @@ if(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY AND NCURSES_LIBRARY) set(EDITLINE_FOUND TRUE) else(EDITLINE_INCLUDE_DIR AND EDITLINE_LIBRARY AND NCURSES_LIBRARY) - FIND_PATH(EDITLINE_INCLUDE_DIR readline.h - /usr/include/editline - /usr/include/edit/readline - /usr/include/readline + FIND_PATH(EDITLINE_INCLUDE_DIR readline.h PATH_SUFFIXES + editline + edit/readline + readline ) FIND_LIBRARY(EDITLINE_LIBRARY NAMES edit) diff --git a/src/pcre2test.c b/src/pcre2test.c index 43cacdf..3de92b4 100644 --- a/src/pcre2test.c +++ b/src/pcre2test.c @@ -97,7 +97,7 @@ that first, falling back to readline/readline.h. */ #elif defined(HAVE_EDIT_READLINE_READLINE_H) #include #else -#include +#include #endif #endif #endif