Как заставить cmake искать уже установленную строку чтения в Ubuntu?
04 64bit и пытаюсь что-то скомпилить и в моих исходниках есть такой макрос:
if( UNIX )
# find Readline (terminal input library) includes and library
#
# READLINE_INCLUDE_DIR - where the directory containing the READLINE headers can be found
# READLINE_LIBRARY - full path to the READLINE library
find_path(READLINE_INCLUDE_DIR readline/readline.h)
find_library(READLINE_LIBRARY NAMES readline)
message(STATUS "Found Readline library: ${READLINE_LIBRARY}")
message(STATUS "Include dir is: ${READLINE_INCLUDE_DIR}")
if (NOT READLINE_INCLUDE_DIR OR NOT READLINE_LIBRARY)
message(FATAL_ERROR "** Readline library not found!\n** Your distro may provide a binary for Readline e.g. for ubuntu try apt-get install libreadline5-dev")
endif ()
add_library(readline SHARED IMPORTED GLOBAL)
set_target_properties(readline
PROPERTIES
IMPORTED_LOCATION
"${READLINE_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES
"${READLINE_INCLUDE_DIR}")
else()
# Provide a dummy target
add_library(readline INTERFACE)
endif()
Но есть ошибка:
-- Found Readline library: READLINE_LIBRARY-NOTFOUND
-- Include dir is: /usr/include
CMake Error at dep/readline/CMakeLists.txt:23 (message):
** Readline library not found!
-- Configuring incomplete, errors occurred!
Но у меня установлено:
libreadline-dev is already the newest version (8.0-4).
Как я могу заставить CMake использовать уже установленную строку чтения? Есть ли что-то подобное?
cmake ../ -DReadline_LIBRARY=/usr/lib/x86_64-linux-gnu -DReadline_INCLUDE_DIR=/usr/include/readline
Это не сработало для меня.