2016-03-28 2 views
1

У меня есть проект CMake (myapp), который зависит от другого проекта CMake (интегратора). Проект интегратора объявляется через ExternalProject_Add, и я использую параметр GIT_TAG, чтобы указать, какую версию кода интегратора нужно построить. Это отлично работает в режиме онлайн. Но я столкнулся с проблемами сбоя сборки, если я когда-либо в сети. Он всегда терпит неудачу при сборке, если он не может достичь репликации git, даже если он ранее загрузил копию репо. Могу ли я заставить CMake перестать обращаться к репозиторию GIT_TAG и просто построить с кодом, который он ранее загрузил, когда был в последний раз?Сбой сборки CMake, если он не может достичь зависимости reo

+0

Как установить опцию 'UPDATE_DISCONNECTED 1'? (см. [docs] (https://cmake.org/cmake/help/v3.2/module/ExternalProject.html)). Как говорят документы: «Если UPDATE_DISCONNECTED установлен, шаг обновления не выполняется автоматически при создании Основная цель. Шаг обновления можно по-прежнему добавлять в качестве целевой цели и вызывать вручную. Это полезно, если вы хотите разрешить сборку проекта, когда вы отключены от сети (вам может понадобиться сеть для этапа загрузки). По умолчанию это отключено. " –

+0

Спасибо, я попробую. Это, безусловно, звучит многообещающе. Я читал эту страницу документов несколько раз и не видел этого параметра. Вздох. – Stuart

+0

UPDATE_DISCONNECTED был именно тем, что я искал. Огромное спасибо, @ DanMasek! – Stuart

ответ

1

На основании документации ExternalProject есть опция с именем UPDATE_DISCONNECTED.

Если UPDATE_DISCONNECTED установлен, шаг обновление не выполняется автоматически при создании основной цели. Шаг обновления может по-прежнему быть добавлен в качестве целевой цели и вызываться вручную. Это полезно, если вы хотите разрешить сборку проекта, когда вы отключены от сети (вам может понадобиться сеть для этапа загрузки). По умолчанию этот отключен.

Поэтому следует добавить параметр

UPDATE_DISCONNECTED 1 

вариант к вашему ExternalProject_Add декларации для того, чтобы иметь возможность работать в автономном режиме.

Смежные вопросы