Как использовать поддержку SSH в libgit2?

Как я вижу из этот вопрос, libgit2 теперь поддерживает использование URL-адресов репозитория ssh .

Но как заставить его работать? как я понял из файла CMakeLists, поддержка SSH будет включена автоматически, если будет обнаружена libssh2 библиотека.

IF(NOT LIBSSH2_LIBRARY)
    FIND_PACKAGE(LIBSSH2 QUIET)
ENDIF()
IF (LIBSSH2_FOUND)
    MESSAGE("libssh2 was detected!")
    ADD_DEFINITIONS(-DGIT_SSH)
    INCLUDE_DIRECTORIES(${LIBSSH2_INCLUDE_DIR})
    SET(SSH_LIBRARIES ${LIBSSH2_LIBRARIES})
ENDIF()

Как и должно быть, я увидел сообщение «обнаружена libssh2». Однако макрос GIT_SSH после работы cmake по-прежнему не определен, и все материалы SSH недоступны. Например, код git_cred_ssh_keyfile_passphrase kf_pass; не компилируется. Я получаю такую ​​ошибку: 'git_cred_ssh_keyfile_passphrase' was not declared in this scope, т.е. GIT_SSH не определено, потому что эта структура объявлена ​​в блоке #ifdef GIT_SSH ... #endif.

Может я что-то не так делаю?


person eraxillan    schedule 28.05.2013    source источник
comment
Какую именно ошибку вы получаете? Как вы определили, что GIT_SSH не определяется?   -  person Carlos Martín Nieto    schedule 28.05.2013
comment
@CarlosMartínNieto Ошибка 'git_cred_ssh_keyfile_passphrase' was not declared in this scope. Эта структура объявлена ​​в блоке #ifdef GIT_SSH в libgit2. Итак, я уверен, что этот макрос не определен. Но этого не должно быть!   -  person eraxillan    schedule 29.05.2013
comment
Убедитесь, что вы очистили каталог сборки. Я мог воспроизвести любую проблему только при работе с грязным каталогом сборки до того, как опция попала в ветку dev.   -  person Carlos Martín Nieto    schedule 01.06.2013
comment
@CarlosMartínNieto Я только что преобразовал libgit2 систему make из cmake в qmake Qt, потому что эта библиотека используется в большом проекте Qt/qmake. Итак, мой вопрос устарел, хех. Но спасибо за подсказку.   -  person eraxillan    schedule 04.06.2013