Tarpinio serverio aplinkos nustatymas naudojant CMAKE_PROJECT_INCLUDE_BEFORE
Naudokite ankstyvą projekto įtraukimo failą, kai apvalkalas leidžia CMake argumentus, bet neatskleidžia savo paleidimo aplinkos.
Kūrimo apvalkalas gali leisti pridėti CMake argumentų, tačiau paslepia aplinką, kurioje paleidžiamas CMake. Ankstyvas projekto kabliukas suteikia vieną vietą, kur galite pateikti konfigūravimo proceso tarpinio serverio reikšmes.
Išsaugokite nedidelį failą stabiliame absoliučiame kelyje, pavyzdžiui, /home/alex/cmake/proxy-env.cmake:
set(ENV{http_proxy} "http://proxy.example:8080")
set(ENV{https_proxy} "http://proxy.example:8080")Perduokite šį failą konfigūracijai:
cmake -S . -B build -DCMAKE_PROJECT_INCLUDE_BEFORE=/home/alex/cmake/proxy-env.cmakeCMAKE_PROJECT_INCLUDE_BEFORE įtraukia failą kiekvieno project() kvietimo pradžioje. Todėl jis vykdomas anksčiau nei CMAKE_PROJECT_INCLUDE, kuris vykdomas to kvietimo pabaigoje. Šis skirtumas svarbus, kai kalbos sąranka ar įdėtasis projektas reikalauja šio maršruto.
Viešiems atsisiuntimams konfigūravimo metu, leidžiamiems per viešą tarpininką, pasirinkite HTTP URL reikšmes iš HTTP tarpinių serverių sąrašo. Kabliukas vis tiek negali paveikti darbo, atlikto prieš jį, įskaitant atsisiuntimą prieš pirmąjį project() kvietimą. Jis taip pat neįrašo nuolatinio operacinės sistemos aplinkos nustatymo.
Procesai, kuriuos vėliau paleis šis CMake procesas, gali paveldėti reikšmes, jei jų tinklo klientai jas palaiko. Vėlesnis atskirai paleistas kūrimas turi savo aplinką. Atsisiuntimas, atidėtas tam kūrimo etapui, turi gauti savo tarpinį serverį ir ten.
Laikykite kabliuko failą už viešo šaltinio medžio, kai jame yra privačių ryšio duomenų. Argumentas -D išsaugo kabliuko kelią kaip CMake kintamąjį; set(ENV{...}) keičia veikiančio proceso aplinką, o ne paverčia podėlio kintamąjį tarpinio serverio nustatymu.