Matagumpay na nagko-configure ang CMake. Magsisimula ang build mamaya, susubukang mag-download ng panlabas na dependency, at mabibigo sa proxy. Maaaring hindi man lang sinubukan ng naunang tagumpay ang download na iyon.

ExternalProject_Add() ay lumilikha ng mga hakbang na maaaring tumakbo habang nagbubuild. Ang prosesong naglulunsad ng mga hakbang na iyon ay maaaring may ibang kapaligiran kaysa sa terminal o IDE na nag-configure ng pangunahing proyekto. Madaling makaligtaan ang pagkakaibang ito sa CI, kung saan ang pag-configure at pag-compile ay maaaring magkahiwalay na trabaho.

Hanapin ang operasyon ng network

Huwag ipagpalagay na ang setting ng proxy para sa isang programa ay nagko-configure sa lahat ng tatlo. Basahin ang command at error ng nabigong hakbang bago baguhin ang URL ng dependency.

Kung sinusuportahan ng napiling downloader ang mga variable ng kapaligiran ng proxy, ibigay ang mga ito sa prosesong aktwal na nagpapatakbo ng hakbang na iyon. Para sa mga pampublikong download na tumatanggap ng HTTP proxy ang client, ang listahan ng HTTP proxy ay nag-aalok ng mga kandidatong endpoint kapag pinapayagan ang rutang iyon. Ang pagpasa ng ordinaryong variable ng cache ng CMake na may katulad na pangalan ay hindi awtomatikong kapareho ng pagtatakda ng variable ng kapaligiran ng child process.

Panatilihin din ang pagkakaiba sa FetchContent: ang karaniwang pagpuno ng dependency nito ay nangyayari sa panahon ng pag-configure, kaya ang recipe na gumagana doon ay hindi nagpapatunay ng kapaligiran ng hakbang ng build ng ExternalProject.

Ang lumang sagot na nagrerekomenda ng custom na downloader upang iwasan ang makasaysayang limitasyon sa redirect ay hindi patunay na ang bawat modernong pagkabigo ay nangangailangan ng bagong command sa pag-download. Suriin kung ang kasalukuyang error ay redirect, proxy authentication, pagtitiwala sa certificate, o simpleng maabot. Panatilihin ang inaasahang hash ng archive at pagpapatunay ng TLS habang inaayos ang kaugnay na ruta.

Kaugnay na mga artikulo