Укороченная версия:
Я использую CMake и Ninja с внешней зависимостью в репозитории git, для которой требуется запрос пароля. (Исходный код должен быть защищен).
При сборке с использованием Makefiles я могу использовать запрос пароля, и все продолжается.
С Ninja он блокируется в:
-- Build files have been written to:
/path/to/project/hello_cpp/build/sqlite3-download
[1/9] Creating directories for 'sqlite3-download'
Enter PEM pass phrase:
Мой вопрос:
Как заставить Ninja разрешить мне вводить пароль?
- ниндзя 1.7.2
- cmake 3.8.2
- гит 2.13.2
Длинная версия
Ниже приведены шаги, которые я предпринял, и контекст вопроса.
Я создал библиотеку SQLite3 CMake в качестве обучающего упражнения по созданию библиотеки CMake.
Я также создал Hello CPP в качестве учебного упражнения для создания кросс-платформенного проекта C++ и настройки шаблона проекта. .
Мне удалось заставить работать внешние зависимости с помощью модуля DownloadProject
CMake Крейга Скотта.
include(DownloadProject)
download_project(PROJ sqlite3
GIT_REPOSITORY "https://github.com/dexata/sqlite3-cmake.git"
GIT_TAG master
)
add_subdirectory(${sqlite3_SOURCE_DIR} ${sqlite3_BINARY_DIR})
target_link_libraries(helloworld_lib_target sqlite3)
get_property(sqlite3_inc_dir TARGET sqlite3 PROPERTY INCLUDE_DIRECTORIES)
Я также написал следующий ответ на Как заставить git принимать самоподписанный сертификат?
Так что я довольно хорошо осведомлен о функциях безопасности самостоятельно размещенного git. У нас есть текущее ограничение, что наше единственное соединение — через https для доступа к нашему экземпляру git. Даже если мы разрешили доступ по ssh, у нас все еще есть политика безопасности, согласно которой закрытый ключ имеет пароль, и, следовательно, Ninja все равно должен разрешать интерактивные подсказки.
Как я сказал выше, это работает с Makefiles, но я пытаюсь заставить его работать для Ninja
.
Ваша помощь приветствуется заранее.