CMake ExternalProject डाउनलोडसाठी प्रॉक्सी सेटिंग्ज
CMake चे यशस्वी कॉन्फिगरेशन पुढील अवलंबित्व डाउनलोड समान मार्गाने जातात हे सिद्ध करते असे गृहीत धरण्यापूर्वी ExternalProject मागील प्रक्रिया आणि डाउनलोड पायरी ओळखा.
CMake यशस्वीरित्या कॉन्फिगर होते. बिल्ड नंतर सुरू होते, बाह्य अवलंबित्व डाउनलोड करण्याचा प्रयत्न करते आणि प्रॉक्सीवर अयशस्वी होते. आधीच्या यशाने तो डाउनलोड अजिबात चालवला नसावा.
ExternalProject_Add() बिल्ड दरम्यान चालू शकणाऱ्या पायऱ्या तयार करते. त्या पायऱ्या सुरू करणाऱ्या प्रक्रियेचे वातावरण मुख्य प्रकल्प कॉन्फिगर करणाऱ्या टर्मिनल किंवा IDE पेक्षा वेगळे असू शकते. CI मध्ये हा फरक सहज लक्षात येत नाही, जिथे कॉन्फिगरेशन आणि संकलन वेगवेगळी कामे असू शकतात.
नेटवर्क क्रिया शोधा
- URL डाउनलोड CMake चा डाउनलोड मार्ग वापरतो.
- Git स्रोत स्वतःच्या समर्थित कॉन्फिगरेशनसह Git वाहतूक आमंत्रित करतो.
- सानुकूल
DOWNLOAD_COMMANDप्रकल्पाने निर्दिष्ट केलेला कोणताही प्रोग्राम वापरतो.
एका प्रोग्रामची प्रॉक्सी सेटिंग तिन्ही कॉन्फिगर करते असे गृहीत धरू नका. अवलंबित्वाचा URL बदलण्यापूर्वी अयशस्वी पायरीचा आदेश आणि त्रुटी वाचा.
निवडलेला डाउनलोडर प्रॉक्सी पर्यावरण चलांना समर्थन देत असल्यास, ती पायरी प्रत्यक्षात चालवणाऱ्या प्रक्रियेला ती द्या. ज्या सार्वजनिक डाउनलोडचा क्लायंट HTTP प्रॉक्सी स्वीकारतो, त्यांच्यासाठी तो मार्ग परवानगी असल्यास HTTP प्रॉक्सी सूची एंडपॉइंट उमेदवार देते. समान नावाचे साधे CMake कॅशे चल पास करणे स्वयंचलितपणे चाइल्ड प्रक्रियेचे पर्यावरण चल सेट करण्यासारखे नसते.
FetchContent पासूनचा फरकही टिकवा: त्याची नेहमीची अवलंबित्व पूर्तता कॉन्फिगरेशनच्या वेळी होते, त्यामुळे तिथे चालणारी कृती ExternalProject बिल्ड पायरीचे वातावरण सिद्ध करत नाही.
ऐतिहासिक रीडायरेक्ट मर्यादा टाळण्यासाठी सानुकूल डाउनलोडरची शिफारस करणारे जुने उत्तर प्रत्येक आधुनिक अपयशाला नवीन डाउनलोड आदेश लागतो याचा पुरावा नाही. सध्याची त्रुटी रीडायरेक्ट, प्रॉक्सी प्रमाणीकरण, प्रमाणपत्रावरील विश्वास की फक्त पोहोच आहे हे तपासा. संबंधित मार्ग दुरुस्त करताना अपेक्षित आर्काइव्ह हॅश आणि TLS पडताळणी जपा.