Build боодол нь CMake аргумент нэмэх боломж олгохын зэрэгцээ CMake ажиллах орчныг нуух боломжтой. Эрт төслийн hook нь тохиргооны процессын прокси утгыг өгөх нэг цэгийг өгдөг.

Жижиг файлыг тогтвортой абсолют замд хадгална, жишээ нь /home/alex/cmake/proxy-env.cmake:

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

Тухайн файлыг тохиргоонд дамжуулна:

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

CMAKE_PROJECT_INCLUDE_BEFORE файлыг project() дуудлага бүрийн эхэнд оруулдаг. Тиймээс энэ нь тухайн дуудлагын төгсгөлд ажилладаг CMAKE_PROJECT_INCLUDE-ээс өмнө ажиллана. Хэлний тохиргоо эсвэл доторх төсөл энэ замыг шаардах үед энэ ялгаа чухал.

Тохиргооны үед нийтийн зуучлагчаар зөвшөөрөгдсөн нийтийн татан авалтад HTTP URL утгыг HTTP прокси жагсаалтаас сонгоно уу. Hook өмнө нь хийгдсэн ажилд, түүний дотор эхний project() дуудлагаас өмнөх татан авалтад нөлөөлж чадахгүй хэвээр. Мөн үйлдлийн системийн байнгын орчны тохиргоог бичихгүй.

Энэ CMake процессын дараа эхлүүлсэн процессууд нь сүлжээний клиентүүд дэмждэг бол утгыг өвлөж болно. Дараа нь тусад нь эхлүүлсэн build өөрийн орчинтой. Тэр build үе шат руу хойшлуулсан татан авал мөн тэнд проксигоо авах ёстой.

Hook файл хувийн холболтын мэдээлэл агуулж байвал нийтийн эх код модны гадна байлга. -D аргумент нь hook замыг CMake хувьсагч болгон хадгална; set(ENV{...}) нь кэш хувьсагчийг прокси тохиргоо болгохын оронд ажиллаж буй процессын орчныг өөрчилдөг.

Холбоотой нийтлэлүүд