Vendosja e mjedisit të proxy-t me CMAKE_PROJECT_INCLUDE_BEFORE
Përdorni një skedar të hershëm përfshirjeje të projektit kur një mbështjellës lejon argumente CMake, por nuk e zbulon mjedisin e tij të nisjes.
Një mbështjellës ndërtimi mund t'ju lejojë të shtoni argumente CMake ndërsa fsheh mjedisin me të cilin niset CMake. Një grep i hershëm projekti ju jep një vend të vetëm për të furnizuar vlerat e proxy-t të procesit të konfigurimit.
Ruani një skedar të vogël në një shteg absolut të qëndrueshëm, për shembull /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Kaloje atë skedar te konfigurimi:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE e përfshin skedarin në fillim të çdo thirrjeje project(). Prandaj ekzekutohet më herët sesa CMAKE_PROJECT_INCLUDE, i cili ekzekutohet në fund të asaj thirrjeje. Ky dallim ka rëndësi kur konfigurimi i gjuhës ose një projekt i ndërthurur ka nevojë për këtë rrugë.
Për shkarkime publike në kohën e konfigurimit që lejohen përmes një ndërmjetësi publik, zgjidhni vlerat e URL-së HTTP nga lista e proxy-ve HTTP. Grepi përsëri nuk mund të ndikojë në punën që u krye përpara tij, përfshirë një shkarkim përpara thirrjes së parë project(). Ai gjithashtu nuk shkruan një cilësim të përhershëm të mjedisit të sistemit operativ.
Proceset që nis më vonë ky proces CMake mund t'i trashëgojnë vlerat, me kusht që klientët e tyre të rrjetit t'i mbështesin. Një ndërtim i mëvonshëm, i nisur veçmas, ka mjedisin e vet. Një shkarkim i shtyrë për atë fazë ndërtimi duhet të marrë proxy-n e vet edhe atje.
Mbajeni skedarin e grep-it jashtë një peme burimore publike kur përmban detaje private lidhjeje. Argumenti -D ruan shtegun e grep-it si variabël CMake; set(ENV{...}) ndryshon mjedisin e procesit që po ekzekutohet në vend që të kthejë një variabël cache në një cilësim proxy.