summaryrefslogtreecommitdiff
path: root/libs/tdlib/td/CMake/FindReadline.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'libs/tdlib/td/CMake/FindReadline.cmake')
-rw-r--r--libs/tdlib/td/CMake/FindReadline.cmake25
1 files changed, 25 insertions, 0 deletions
diff --git a/libs/tdlib/td/CMake/FindReadline.cmake b/libs/tdlib/td/CMake/FindReadline.cmake
new file mode 100644
index 0000000000..dab24bb19f
--- /dev/null
+++ b/libs/tdlib/td/CMake/FindReadline.cmake
@@ -0,0 +1,25 @@
+if (APPLE)
+ find_path(READLINE_INCLUDE_DIR readline/readline.h /usr/local/opt/readline/include /opt/local/include /opt/include /usr/local/include /usr/include NO_DEFAULT_PATH)
+endif()
+find_path(READLINE_INCLUDE_DIR readline/readline.h)
+
+if (APPLE)
+ find_library(READLINE_LIBRARY readline /usr/local/opt/readline/lib /opt/local/lib /opt/lib /usr/local/lib /usr/lib NO_DEFAULT_PATH)
+endif()
+find_library(READLINE_LIBRARY readline)
+
+if (READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NOT GNU_READLINE_FOUND)
+ set(CMAKE_REQUIRED_INCLUDES "${READLINE_INCLUDE_DIR}")
+ set(CMAKE_REQUIRED_LIBRARIES "${READLINE_LIBRARY}")
+ include(CheckCXXSourceCompiles)
+ unset(GNU_READLINE_FOUND CACHE)
+ CHECK_CXX_SOURCE_COMPILES("#include <stdio.h>\n#include <readline/readline.h>\nint main() { rl_replace_line(\"\", 0); }" GNU_READLINE_FOUND)
+ if (NOT GNU_READLINE_FOUND)
+ unset(READLINE_INCLUDE_DIR CACHE)
+ unset(READLINE_LIBRARY CACHE)
+ endif()
+endif()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Readline DEFAULT_MSG READLINE_INCLUDE_DIR READLINE_LIBRARY)
+mark_as_advanced(READLINE_INCLUDE_DIR READLINE_LIBRARY)