Как заставить 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

Это не сработало для меня.

0 ответов

Другие вопросы по тегам