Starpniekservera vides iestatīšana ar CMAKE_PROJECT_INCLUDE_BEFORE
Izmantojiet agrīnu projekta iekļaušanas failu, ja ietvars pieļauj CMake argumentus, bet neatklāj savu palaišanas vidi.
Būvēšanas ietvars var ļaut pievienot CMake argumentus, vienlaikus slēpjot vidi, kurā tiek palaists CMake. Agrīns projekta āķis dod vienu vietu, kur norādīt konfigurēšanas procesa starpniekservera vērtības.
Saglabājiet nelielu failu stabilā absolūtā ceļā, piemēram, /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Nododiet šo failu konfigurācijai:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE iekļauj failu katra project() izsaukuma sākumā. Tāpēc tas darbojas agrāk nekā CMAKE_PROJECT_INCLUDE, kas darbojas šī izsaukuma beigās. Šī atšķirība ir svarīga, ja valodas iestatīšanai vai ligzdotam projektam ir nepieciešams šis maršruts.
Publiskiem lejupielādēm konfigurēšanas laikā, kas atļautas caur publisku starpnieku, izvēlieties HTTP URL vērtības no HTTP starpniekserveru saraksta. Āķis joprojām nevar ietekmēt darbu, kas notika pirms tā, tostarp lejupielādi pirms pirmā project() izsaukuma. Tas arī neieraksta pastāvīgu operētājsistēmas vides iestatījumu.
Procesi, ko šis CMake process vēlāk palaiž, var mantot vērtības, ja to tīkla klienti tās atbalsta. Vēlākai, atsevišķi palaistai būvei ir sava vide. Lejupielādei, kas atlikta uz šo būves posmu, arī tur jāsaņem savs starpniekserveris.
Turiet āķa failu ārpus publiska pirmkoda koka, ja tajā ir privātas savienojuma detaļas. Arguments -D saglabā āķa ceļu kā CMake mainīgo; set(ENV{...}) maina darbojošā procesa vidi, nevis pārvērš kešatmiņas mainīgo par starpniekservera iestatījumu.