د جوړولو ریپر کېدای شي تاسو ته د 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 پروکسي لیست څخه د HTTP URL ارزښتونه وټاکئ. hook بیا هم د خپل مخکې ترسره شوي کار اغېز نه شي کولی، په شمول د لومړنۍ project() غوښتنې مخکې ډاونلوډ. همدارنګه د عملیاتي سیسټم دوامداره چاپېریال تنظیم نه لیکي.

هغه پروسې چې دا CMake پروسه وروسته پیلوي کولای شي ارزښتونه میراث واخلي، په دې شرط چې د هغوی شبکې کلاینټونه یې ملاتړ وکړي. وروسته، په جلا توګه پیل شوی build خپل چاپېریال لري. هغې build مرحلې ته ځنډول شوی ډاونلوډ هم باید هلته خپل پروکسي ترلاسه کړي.

hook فایل له عامې سرچینې ونې بهر وساتئ کله چې په کې شخصي د نښلېدنې توضیحات وي. -D دلیل د hook لار د CMake متغیر په توګه خوندي کوي؛ set(ENV{...}) د روانې پروسې چاپېریال بدلوي، نه دا چې د cache متغیر په پروکسي تنظیم بدل کړي.

اړوندې مقالې