CMake 3.17.0 qurish tizimining chiqarilishi

Tanishtirdi platformalararo ochiq skript generatorini chiqarish CMake 3.17, bu Autotools-ga muqobil bo'lib, KDE, LLVM/Clang, MySQL, MariaDB, ReactOS va Blender kabi loyihalarda qo'llaniladi. CMake kodi C++ da yozilgan va BSD litsenziyasi ostida tarqatiladi.

CMake oddiy skript tilini, modullar orqali funksionallikni kengaytirish vositasini, minimal miqdordagi bog'liqlikni (M4, Perl yoki Python bilan bog'lanmaydi), keshlashni qo'llab-quvvatlashni, o'zaro kompilyatsiya qilish vositalarining mavjudligini, qurilishni yaratishni qo'llab-quvvatlashi bilan ajralib turadi. keng assortimentdagi qurish tizimlari va kompilyatorlari uchun fayllar, test skriptlari va qurish paketlarini aniqlash uchun ctest va cpack yordam dasturlari, qurish parametrlarini interaktiv sozlash uchun cmake-gui yordam dasturi.

asosiy yaxshilanishlar:

  • Ninja asboblar to'plamiga asoslangan yangi yig'ish skripti generatori qo'shildi - "Ninja Multi-Config", bu eski generatordan bir vaqtning o'zida bir nechta montaj konfiguratsiyasini qayta ishlash qobiliyati bilan farq qiladi.
  • Visual Studio uchun montaj skript generatorida paydo bo'ldi har bir konfiguratsiya bilan bog'langan manba fayllarini aniqlash qobiliyati (har bir konfiguratsiya manbalari).
  • CUDA uchun meta parametrlarni o'rnatish qobiliyati ("cuda_std_03", "cuda_std_14" va boshqalar) kompilyator parametrlarini o'rnatish vositalariga (Compile Features) qo'shildi.
  • CUDA dan foydalanganda ish vaqti kutubxonalari turini tanlash uchun “CMAKE_CUDA_RUNTIME_LIBRARY” va “CUDA_RUNTIME_LIBRARY” o‘zgaruvchilari qo‘shildi.
  • CUDA tilini yoqmasdan tizimda mavjud CUDA asboblar to'plamini aniqlash uchun "FindCUDAToolkit" moduli qo'shildi.
  • Qidiruv operatsiyalarini bajarishda qo'shimcha o'qilishi mumkin bo'lgan diagnostikani chiqarish uchun cmake-ga "--debug-find" buyrug'i qo'shildi. Shunga o'xshash maqsadlar uchun CMAKE_FIND_DEBUG_MODE o'zgaruvchisi qo'shildi.
  • “FindCURL” moduliga cmake tomonidan yaratilgan “CURLConfig.cmake” konfiguratsiya fayllari yordamida CURL vositalarini qidirish uchun qo‘shimcha yordam qo‘shildi. Ushbu xatti-harakatni o'chirish uchun CURL_NO_CURL_CMAKE o'zgaruvchisi taqdim etiladi.
  • FindPython moduli "conda" yordamida boshqariladigan virtual muhitda Python komponentlarini qidirish imkoniyatini qo'shdi.
  • ctest yordam dasturi sinovlar bo'lmagan taqdirda xatti-harakatni aniqlash uchun "--no-tests=[error|e'tibor bermaslik]" parametrlarini va testlarni qayta o'tkazish shartlarini belgilash uchun "--repeat" parametrlarini qo'shdi (o'tishgacha, ta'tildan keyin).
  • INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES va INTERFACE_LINK_DEPENDS assambleyasining maqsadli xususiyatlari endi statik ravishda yig‘ilgan kutubxonalarning ichki bog‘liqliklari orasida o‘tkaziladi.
  • MinGW asboblar to'plamidan foydalanganda find_library buyrug'i bilan DLL fayllarni qidirish sukut bo'yicha o'chirib qo'yilgan (o'rniga standart urinish ".dll.a" kutubxonalarini import qilishdir).
  • Ninja generatorida ninja yordam dasturini tanlash mantig'i endi bajariladigan fayl nomiga bog'liq emas - PATH muhit o'zgaruvchisi orqali aniqlangan yo'llarda topilgan birinchi ninja-build, ninja yoki samu yordam dasturi ishlatiladi.
  • Cmake-ga alohida "-E remove" va "-E remove_directory" buyruqlari o'rniga fayllar va kataloglarni o'chirish uchun ishlatilishi mumkin bo'lgan "-E rm" buyrug'i qo'shildi.

Manba: opennet.ru

a Izoh qo'shish