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.

Sačuvajte malu datoteku na stabilnoj, apsolutnoj putanji, 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.cmake

CMAKE_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 liste 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 operativnog sistema.

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 detalje veze. Argument -D pohranjuje putanju kuke kao CMake varijablu; set(ENV{...}) mijenja okruženje pokrenutog procesa umjesto da cache varijablu pretvori u proxy postavku.

Povezani članci