build wrapper එකක් ඔබට 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 විචල්‍යයක් ප්‍රොක්සි සැකසුමක් බවට පත් නොකරයි.

අදාළ ලිපි