CMake се успешно конфигурише. Изградња почиње касније, покушава да преузме спољну зависност и пада на проксију. Ранији успех вероватно уопште није извршио то преузимање.

ExternalProject_Add() ствара кораке који се могу извршавати током изградње. Процес који покреће те кораке може имати другачије окружење од терминала или IDE-а који су конфигурисали главни пројекат. Ту разлику је лако превидети у CI-ју, где конфигурација и компилација могу бити одвојени послови.

Лоцирајте мрежну операцију

Не претпостављајте да прокси поставка за један програм конфигурише сва три. Прочитајте команду и грешку неуспелог корака пре него што промените URL зависности.

Ако изабрани преузимач подржава прокси променљиве окружења, доставите их процесу који заиста извршава тај корак. За јавна преузимања чији клијент прихвата HTTP прокси, листа HTTP проксија нуди кандидате за крајње тачке када је тај пут дозвољен. Прослеђивање обичне CMake кеш променљиве сличног имена није аутоматски исто као постављање променљиве окружења подређеног процеса.

Задржите и разлику према FetchContent-у: његово уобичајено попуњавање зависности дешава се током конфигурације, па рецепт који тамо ради не успоставља окружење корака изградње ExternalProject.

Стари одговор који препоручује прилагођени преузимач за обилажење историјског ограничења преусмеравања није доказ да сваки савремени неуспех захтева нову команду за преузимање. Проверите да ли је тренутна грешка преусмеравање, прокси аутентификација, поверење у сертификат или само доступност. Сачувајте очекивани хеш архиве и TLS валидацију док поправљате одговарајући пут.

Повезани чланци