diff --git a/contrib/10.readline/CMakeLists.txt b/contrib/10.readline/CMakeLists.txt index ec24feae..6a8b4fd8 100644 --- a/contrib/10.readline/CMakeLists.txt +++ b/contrib/10.readline/CMakeLists.txt @@ -5,6 +5,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/contrib/10.rea find_package(Libedit) if (Libedit_FOUND) add_definitions(${Libedit_DEFINITIONS} -DPIC_READLINE_FOUND=1) + add_definitions(${Libedit_DEFINITIONS} -DPIC_READLINE_INCLUDE_DIR_SUFFIX=${Libedit_INCLUDE_DIR_SUFFIX}) include_directories(${Libedit_INCLUDE_DIR}) file(GLOB PICRIN_READLINE_SOURCES ${PROJECT_SOURCE_DIR}/contrib/10.readline/src/*.c) diff --git a/contrib/10.readline/cmake/FindLibedit.cmake b/contrib/10.readline/cmake/FindLibedit.cmake index 452d5a4d..32de3aa7 100644 --- a/contrib/10.readline/cmake/FindLibedit.cmake +++ b/contrib/10.readline/cmake/FindLibedit.cmake @@ -30,7 +30,7 @@ else (Libedit_LIBRARIES AND Libedit_INCLUDE_DIRS) pkg_check_modules(_LIBEDIT libedit) endif (PKG_CONFIG_FOUND) endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - find_path(Libedit_INCLUDE_DIR + find_path(Libedit_EDITLINE_INCLUDE_DIR NAMES readline.h history.h @@ -43,7 +43,29 @@ else (Libedit_LIBRARIES AND Libedit_INCLUDE_DIRS) PATH_SUFFIXES editline ) - + if (Libedit_EDITLINE_INCLUDE_DIR) + set(Libedit_INCLUDE_DIR_SUFFIX editline) + set(Libedit_INCLUDE_DIR Libedit_EDITLINE_INCLUDE_DIR) + else (Libedit_EDITLINE_INCLUDE_DIR) + find_path(Libedit_READLINE_INCLUDE_DIR + NAMES + readline.h + history.h + PATHS + ${_Libedit_INCLUDEDIR}/edit + /usr/include/edit + /usr/local/include/edit + /opt/local/include/edit + /sw/include/edit + PATH_SUFFIXES + readline + ) + if (Libedit_READLINE_INCLUDE_DIR) + set(Libedit_INCLUDE_DIR_SUFFIX readline) + set(Libedit_INCLUDE_DIR Libedit_READLINE_INCLUDE_DIR) + endif (Libedit_READLINE_INCLUDE_DIR) + endif (Libedit_EDITLINE_INCLUDE_DIR) + find_library(Libedit_LIBRARY NAMES edit diff --git a/contrib/10.readline/src/readline.c b/contrib/10.readline/src/readline.c index 9d9650ac..237a3a84 100644 --- a/contrib/10.readline/src/readline.c +++ b/contrib/10.readline/src/readline.c @@ -5,8 +5,13 @@ /* This will include all our libedit functions. If you use C++ don't forget to use the C++ extern "C" to get it to compile. */ +#if PIC_READLINE_INCLUDE_DIR_SUFFIX == readline +#include +#include +#else #include #include +#endif #include "picrin.h" #include "picrin/pair.h" #include "picrin/string.h"