CMake ExternalProject yuklab olishlari uchun proksi sozlamalari
Muvaffaqiyatli CMake konfiguratsiyasi keyingi bog'liqlik yuklab olishlari bir xil yo'ldan o'tishini isbotlaydi deb o'ylashdan oldin ExternalProject ortidagi jarayon va yuklab olish bosqichini aniqlang.
CMake muvaffaqiyatli konfiguratsiya qilinadi. Qurish keyinroq boshlanadi, tashqi bog'liqlikni yuklab olishga urinadi va proksida muvaffaqiyatsiz bo'ladi. Oldingi muvaffaqiyat o'sha yuklab olishni umuman sinamagan bo'lishi mumkin.
ExternalProject_Add() qurish paytida ishga tushishi mumkin bo'lgan bosqichlarni yaratadi. Bu bosqichlarni boshlovchi jarayonning muhiti asosiy loyihani sozlagan terminal yoki IDE dan farq qilishi mumkin. Bu farqni CI da o'tkazib yuborish oson, u yerda konfiguratsiya va kompilyatsiya alohida ishlar bo'lishi mumkin.
Tarmoq amalini aniqlang
- URL yuklab olish CMake ning yuklab olish yo'lidan foydalanadi.
- Git manbasi o'zining qo'llab-quvvatlanadigan konfiguratsiyasiga ega Git transportini chaqiradi.
- Maxsus
DOWNLOAD_COMMANDloyiha ko'rsatgan dasturni ishlatadi.
Bitta dastur uchun proksi sozlamasi uchtasini ham sozlaydi deb o'ylamang. Bog'liqlik URL ini o'zgartirishdan oldin muvaffaqiyatsiz bosqichning buyrug'i va xatosini o'qing.
Agar tanlangan yuklab oluvchi proksi muhit o'zgaruvchilarini qo'llab-quvvatlasa, ularni o'sha bosqichni haqiqatan bajaradigan jarayonga bering. Mijozi HTTP proksini qabul qiladigan ommaviy yuklab olishlar uchun, bu yo'l ruxsat etilganda HTTP proksi ro'yxati so'nggi nuqta nomzodlarini taklif qiladi. O'xshash nomli oddiy CMake kesh o'zgaruvchisini uzatish bolalar jarayonining muhit o'zgaruvchisini o'rnatish bilan avtomatik bir xil emas.
FetchContent dan farqni ham saqlang: uning odatiy bog'liqlik to'ldirilishi konfiguratsiya paytida sodir bo'ladi, shuning uchun u yerda ishlaydigan retsept ExternalProject qurish bosqichining muhitini isbotlamaydi.
Tarixiy qayta yo'naltirish cheklovini chetlab o'tish uchun maxsus yuklab oluvchi tavsiya qilgan eski javob har bir zamonaviy xato yangi yuklab olish buyrug'ini talab qiladi degan dalil emas. Joriy xato qayta yo'naltirish, proksi autentifikatsiyasi, sertifikatga ishonch yoki shunchaki yetib borish ekanini tekshiring. Tegishli yo'lni tuzatishda kutilgan arxiv xeshi va TLS tekshiruvini saqlang.