Omotač za izgradnju može vam dozvoliti dodavanje CMake argumenata dok skriva okruženje u kojem se CMake pokreće. Rana kuka projekta daje vam jedno mesto na koje možete postaviti proxy vrednosti procesa konfiguracije.

Sačuvajte malu datoteku na stabilnoj, apsolutnoj putanji, na primer /home/alex/cmake/proxy-env.cmake:

set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")

Prosledite 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 pre CMAKE_PROJECT_INCLUDE, koji se izvršava na kraju tog poziva. Ta razlika je važna kada podešavanje jezika ili ugnježdeni projekat treba tu rutu.

Za javna preuzimanja u vreme konfiguracije dozvoljena preko javnog posrednika, izaberite vrednosti HTTP URL-a iz liste HTTP proxyja. Kuka ipak ne može uticati na rad koji se odvio pre nje, uključujući preuzimanje pre prvog poziva project(). Takođe ne zapisuje trajno podešavanje okruženja operativnog sistema.

Procesi koje ovaj CMake proces kasnije pokrene mogu naslediti vrednosti, pod uslovom da ih njihovi mrežni klijenti podržavaju. Kasnija, zasebno pokrenuta izgradnja ima svoje okruženje. Preuzimanje odlož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 čuva putanju kuke kao CMake promenljivu; set(ENV{...}) menja okruženje pokrenutog procesa umesto da cache promenljivu pretvori u proxy podešavanje.

Povezani članci