CMake 3.15 qurish tizimining chiqarilishi

bo'lib o'tdi platformalararo ochiq skript generatorini chiqarish CMake 3.15, 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-ga asoslangan qurilish skript generatoriga boshlang'ich til yordami qo'shildi Swift, Apple tomonidan ishlab chiqilgan;
  • MSVC ABI bilan tuzilgan, lekin GNU uslubidagi buyruq qatori opsiyalaridan foydalanadigan Windows uchun Clang kompilyatorining varianti uchun qo'shimcha yordam;
  • MSVC ABI (MS Visual Studio) asosida kompilyatorlar tomonidan foydalaniladigan ish vaqti kutubxonalarini tanlash uchun CMAKE_MSVC_RUNTIME_LIBRARY va MSVC_RUNTIME_LIBRARY o'zgaruvchilari qo'shildi;
  • MSVC kabi kompilyatorlar uchun CMAKE__FLAGS sukut bo'yicha "/W3" kabi ogohlantirish nazorati bayroqlari ro'yxatini to'xtatadi;
  • Har bir kod fayli uchun CMAKE__COMPILER_ID va LANGUAGE oʻzgaruvchilari yordamida maqsadli fayllar uchun kompilyator imkoniyatlarini aniqlash uchun “COMPILE_LANG_AND_ID:” generator ifodasi qoʻshildi;
  • Generator ifodalarida C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID va PLATFORM_ID elementlari vergul bilan ajratilgan ro‘yxatga bitta qiymatni moslashtirish uchun qo‘shimcha yordam beradi;

  • CMAKE_FIND_PACKAGE_PREFER_CONFIG oʻzgaruvchisi qoʻshildi, shunda find_package() ga qoʻngʻiroq qilish, hatto topuvchi mavjud boʻlsa ham, avval paketning konfiguratsiya faylini qidiradi;
  • Interfeys kutubxonalari uchun PUBLIC_HEADER va PRIVATE_HEADER xususiyatlarini o'rnatish uchun qo'llab-quvvatlash qo'shildi, ular orqali sarlavhalar PUBLIC_HEADER va PRIVATE_HEADER argumentlarini o'tkazish orqali install(TARGETS) buyrug'i yordamida o'rnatilishi mumkin;
  • MSVC cl 19.05 va undan keyingi versiyalar yordamida kompilyatsiya qilishda Visual Studio tuzatuvchisida "Faqat Mening kodim" rejimini yoqish uchun CMAKE_VS_JUST_MY_CODE_DEBUGGING o'zgaruvchisi va VS_JUST_MY_CODE_DEBUGGING maqsad xususiyati qo'shildi;
  • FindBoost moduli qayta ishlab chiqildi, u endi boshqa qidiruv modullari mavjudligida Config va Module rejimlarida yanada yaxlit ishlaydi;
  • message() buyrug'i endi NOTICE, VERBOSE,
    DEBUG va TRACE;

  • CMAKE_EXPORT_PACKAGE_REGISTRY o'zgaruvchisi orqali aniq faollashtirilmasa, "eksport (PACKAGE)" buyrug'i endi hech narsa qilmaydi.

Manba: opennet.ru

a Izoh qo'shish