Nastavení proxy prostředí pomocí CMAKE_PROJECT_INCLUDE_BEFORE
Použijte raný soubor pro zahrnutí projektu, když obal povoluje argumenty CMake, ale neodhaluje své spouštěcí prostředí.
Obal sestavení vám může dovolit přidávat argumenty CMake, zatímco skrývá prostředí, ve kterém se CMake spouští. Raný háček projektu vám dává jedno místo, kde dodat proxy hodnoty procesu konfigurace.
Uložte malý soubor na stabilní absolutní cestu, například /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Předejte tento soubor konfiguraci:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE zahrnuje soubor na začátku každého volání project(). Běží proto dříve než CMAKE_PROJECT_INCLUDE, který běží na konci tohoto volání. Tento rozdíl je důležitý, když nastavení jazyka nebo vnořený projekt potřebuje tuto cestu.
Pro veřejná stahování v době konfigurace povolená přes veřejný prostředník vyberte hodnoty HTTP URL ze seznamu HTTP proxy. Háček stále nemůže ovlivnit práci, která proběhla před ním, včetně stahování před prvním voláním project(). Také nezapisuje trvalé nastavení prostředí operačního systému.
Procesy spuštěné tímto procesem CMake později mohou hodnoty zdědit, pokud je jejich síťoví klienti podporují. Pozdější, samostatně spuštěné sestavení má vlastní prostředí. Stahování odložené do této fáze sestavení tam musí dostat svůj proxy také.
Uchovávejte soubor háčku mimo veřejný strom zdrojů, pokud obsahuje soukromé údaje o připojení. Argument -D ukládá cestu háčku jako proměnnou CMake; set(ENV{...}) mění prostředí běžícího procesu, místo aby proměnnou mezipaměti změnil na nastavení proxy.