Ovojnica za gradnjo vam lahko dovoli dodajanje argumentov CMake, medtem ko skriva okolje, v katerem se CMake zažene. Zgodnja kljuka projekta vam ponuja eno mesto, kjer lahko zagotovite proxy vrednosti procesa konfiguracije.

Shranite majhno datoteko na stabilno absolutno pot, na primer /home/alex/cmake/proxy-env.cmake:

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

To datoteko posredujte konfiguraciji:

cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmake

CMAKE_PROJECT_INCLUDE_BEFORE vključi datoteko na začetku vsakega klica project(). Zato se izvede prej kot CMAKE_PROJECT_INCLUDE, ki se izvede na koncu tega klica. Ta razlika je pomembna, ko nastavitev jezika ali gnezden projekt potrebuje to pot.

Za javne prenose med konfiguracijo, dovoljene prek javnega posrednika, izberite vrednosti HTTP URL s seznama proxyjev HTTP. Kljuka še vedno ne more vplivati na delo, opravljeno pred njo, vključno s prenosom pred prvim klicem project(). Prav tako ne zapiše trajne nastavitve okolja operacijskega sistema.

Procesi, ki jih ta proces CMake pozneje zažene, lahko podedujejo vrednosti, če jih njihovi omrežni odjemalci podpirajo. Poznejša, ločeno zagnana gradnja ima svoje okolje. Prenos, odložen na to fazo gradnje, mora tudi tam dobiti svoj proxy.

Hranite datoteko kljuke zunaj javnega izvornega drevesa, ko vsebuje zasebne podatke o povezavi. Argument -D shrani pot kljuke kot spremenljivko CMake; set(ENV{...}) spremeni okolje delujočega procesa, namesto da bi spremenljivko predpomnilnika spremenil v proxy nastavitev.

Sorodni članki