Proxyomgeving instellen met CMAKE_PROJECT_INCLUDE_BEFORE
Gebruik een vroeg project-include-bestand wanneer een wrapper CMake-argumenten toestaat maar zijn startomgeving niet blootlegt.
Een buildwrapper kan je CMake-argumenten laten toevoegen terwijl hij de omgeving verbergt waarmee CMake wordt gestart. Een vroege projecthaak geeft je één plek om de proxywaarden van het configuratieproces aan te leveren.
Sla een klein bestand op een stabiel, absoluut pad op, bijvoorbeeld /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Geef dat bestand door aan de configuratie:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE voegt het bestand toe aan het begin van elke project()-aanroep. Het draait dus eerder dan CMAKE_PROJECT_INCLUDE, dat aan het einde van die aanroep draait. Dit onderscheid is belangrijk wanneer taalinstelling of een genest project de route nodig heeft.
Kies voor openbare downloads tijdens de configuratie die via een openbare tussenpartij zijn toegestaan de HTTP-URL-waarden uit de HTTP-proxylijst. De haak kan nog steeds geen invloed hebben op werk dat ervoor liep, waaronder een download vóór de eerste project()-aanroep. Hij schrijft ook geen blijvende omgevingsinstelling van het besturingssysteem.
Processen die dit CMake-proces daarna start, kunnen de waarden erven, mits hun netwerkclients ze ondersteunen. Een latere, apart gestarte build heeft zijn eigen omgeving. Een download die naar die buildfase is uitgesteld, moet daar ook zijn proxy krijgen.
Houd het haakbestand buiten een openbare bronboom wanneer het privéverbindingsgegevens bevat. Het argument -D slaat het haakpad op als CMake-variabele; set(ENV{...}) wijzigt de omgeving van het draaiende proces in plaats van een cachevariabele om te zetten in een proxyinstelling.