Add additional check for Readline version.

GitOrigin-RevId: b68f71274ce80d55c0de2327c757908471c87ed8
This commit is contained in:
levlam 2019-02-01 17:04:18 +03:00
parent d0fc6930e4
commit 3e4f5db2d6
1 changed files with 17 additions and 3 deletions

View File

@ -805,9 +805,23 @@ if (NOT CMAKE_CROSSCOMPILING)
message(STATUS "Could NOT find Readline (this is NOT an error)")
else()
message(STATUS "Found Readline: ${READLINE_INCLUDE_DIR} ${READLINE_LIBRARY}")
target_link_libraries(tg_cli PRIVATE ${READLINE_LIBRARY})
target_include_directories(tg_cli SYSTEM PRIVATE ${READLINE_INCLUDE_DIR})
target_compile_definitions(tg_cli PRIVATE -DUSE_READLINE=1)
if (NOT USABLE_READLINE_FOUND)
set(CMAKE_REQUIRED_INCLUDES "${READLINE_INCLUDE_DIR}")
set(CMAKE_REQUIRED_LIBRARIES "${READLINE_LIBRARY}")
include(CheckCXXSourceCompiles)
unset(USABLE_READLINE_FOUND CACHE)
check_cxx_source_compiles("#include <stdio.h>\n#include <readline/readline.h>\nint main() { rl_free(0); }" USABLE_READLINE_FOUND)
if (NOT USABLE_READLINE_FOUND)
message(STATUS "Found Readline is too old, ignore it (this is NOT an error)")
unset(READLINE_INCLUDE_DIR CACHE)
unset(READLINE_LIBRARY CACHE)
endif()
endif()
if (USABLE_READLINE_FOUND)
target_link_libraries(tg_cli PRIVATE ${READLINE_LIBRARY})
target_include_directories(tg_cli SYSTEM PRIVATE ${READLINE_INCLUDE_DIR})
target_compile_definitions(tg_cli PRIVATE -DUSE_READLINE=1)
endif()
endif()
target_link_libraries(tg_cli PRIVATE memprof tdclient tdcore tdtl)
add_dependencies(tg_cli tl_generate_json)