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 ដែលដំណើរការនៅចុងបញ្ចប់នៃការហៅនោះ។ ភាពខុសគ្នានេះសំខាន់នៅពេលការកំណត់ភាសា ឬគម្រោងដែលបង្កប់ត្រូវការផ្លូវនេះ។

សម្រាប់ការទាញយកសាធារណៈនៅពេលកំណត់រចនាសម្ព័ន្ធដែលត្រូវបានអនុញ្ញាតតាមរយៈអន្តរការីសាធារណៈ សូមជ្រើសតម្លៃ URL HTTP ពី បញ្ជីប្រូកស៊ី HTTP។ Hook នៅតែមិនអាចប៉ះពាល់ដល់ការងារដែលបានធ្វើមុនវា រួមទាំងការទាញយកមុនការហៅ project() ដំបូង។ វាក៏មិនសរសេរការកំណត់បរិស្ថានប្រព័ន្ធប្រតិបត្តិការអចិន្ត្រៃយ៍ដែរ។

ដំណើរការដែលត្រូវបានចាប់ផ្តើមនៅពេលក្រោយដោយដំណើរការ CMake នេះអាចទទួលមរតកតម្លៃ ប្រសិនបើអតិថិជនបណ្តាញរបស់ពួកគេគាំទ្រវា។ Build ដែលចាប់ផ្តើមដោយឡែកនៅពេលក្រោយមានបរិស្ថានផ្ទាល់ខ្លួន។ ការទាញយកដែលពន្យារទៅដំណាក់កាល build នោះក៏ត្រូវទទួលប្រូកស៊ីរបស់វានៅទីនោះដែរ។

រក្សាឯកសារ hook នៅក្រៅដើមឈើប្រភពសាធារណៈ នៅពេលវាមានព័ត៌មានលម្អិតនៃការតភ្ជាប់ឯកជន។ អាគុយម៉ង់ -D រក្សាទុកផ្លូវ hook ជាអថេរ CMake; set(ENV{...}) ផ្លាស់ប្តូរបរិស្ថាននៃដំណើរការដែលកំពុងដំណើរការ ជាជាងបំប្លែងអថេរ cache ទៅជាការកំណត់ប្រូកស៊ី។

អត្ថបទពាក់ព័ន្ធ