Postavljanje proxy okruženja pomoću CMAKE_PROJECT_INCLUDE_BEFORE
Upotrijebite ranu datoteku uključivanja projekta kada omotač dopušta CMake argumente, ali ne otkriva svoje okruženje za pokretanje.
Omotač za izgradnju može vam dopustiti dodavanje CMake argumenata dok skriva okruženje u kojem se CMake pokreće. Rana kuka projekta daje vam jedno mjesto na koje možete postaviti proxy vrijednosti procesa konfiguracije.
Spremite malu datoteku na stabilnu, apsolutnu putanju, na primjer /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Proslijedite tu datoteku konfiguraciji:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE uključuje datoteku na početku svakog poziva project(). Zato se izvršava prije CMAKE_PROJECT_INCLUDE, koji se izvršava na kraju tog poziva. Ta razlika je važna kada postavljanje jezika ili ugniježđeni projekt treba rutu.
Za javna preuzimanja u vrijeme konfiguracije dopuštena preko javnog posrednika, odaberite vrijednosti HTTP URL-a iz popisa HTTP proxyja. Kuka ipak ne može utjecati na rad koji se odvio prije nje, uključujući preuzimanje prije prvog poziva project(). Također ne zapisuje trajnu postavku okruženja operacijskog sustava.
Procesi koje ovaj CMake proces kasnije pokrene mogu naslijediti vrijednosti, pod uvjetom da ih njihovi mrežni klijenti podržavaju. Kasnija, zasebno pokrenuta izgradnja ima svoje okruženje. Preuzimanje odgođeno za tu fazu izgradnje mora i tamo dobiti svoj proxy.
Držite datoteku kuke izvan javnog stabla izvornog koda kada sadrži privatne pojedinosti veze. Argument -D pohranjuje putanju kuke kao CMake varijablu; set(ENV{...}) mijenja okruženje pokrenutog procesa umjesto da cache varijablu pretvori u proxy postavku.