CMake 3.15 ehitussüsteemi väljalase

võttis aset platvormideülese avatud ehitamise skriptigeneraatori väljalase CMake 3.15, mis toimib alternatiivina Autotoolsile ja mida kasutatakse sellistes projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake kood on kirjutatud C++ keeles ja seda levitatakse BSD litsentsi all.

CMake on tähelepanuväärne lihtsa skriptikeele pakkumise, funktsionaalsuse laiendamise vahendi moodulite kaudu, minimaalse arvu sõltuvuste (ei seostu M4, Perli või Pythoniga), vahemällu salvestamise toe, ristkompileerimise tööriistade olemasolu, ehituse genereerimise toe. failid paljude ehitussüsteemide ja kompilaatorite jaoks, olemasolu ctest ja cpack utiliidid testskriptide ja pakettide koostamiseks, cmake-gui utiliit ehitusparameetrite interaktiivseks seadistamiseks.

Kõik täiustused:

  • Ninja-põhisele ehitusskripti generaatorile on lisatud esialgne keeletugi Kiire, mille on välja töötanud Apple;
  • Lisatud tugi Windowsi jaoks mõeldud Clangi kompilaatori variandile, mis ehitab MSVC ABI-ga, kuid kasutab GNU-stiilis käsurea valikuid;
  • Lisatud CMAKE_MSVC_RUNTIME_LIBRARY ja MSVC_RUNTIME_LIBRARY muutujad, et valida MSVC ABI-l (MS Visual Studio) põhinevad kompilaatorid kasutatavad käitusaegsed teegid;
  • Kompilaatorite (nt MSVC) puhul lõpetab CMAKE__FLAGS vaikimisi hoiatuste juhtlippude (nt "/W3") loendamise;
  • Lisati generaatoriavaldis "COMPILE_LANG_AND_ID:", et määratleda sihtfailide kompilaatori suvandid, kasutades iga koodifaili jaoks muutujaid CMAKE__COMPILER_ID ja LANGUAGE;
  • Generaatori avaldistes C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID ja PLATFORM_ID lisasid toe ühe väärtuse sobitamiseks loendile, mille elemendid on eraldatud komaga;

  • Lisatud on muutuja CMAKE_FIND_PACKAGE_PREFER_CONFIG, nii et find_package() kutsumine otsib kõigepealt paketi konfiguratsioonifaili, isegi kui leidja on saadaval;
  • Liidese teekide jaoks on lisatud tugi atribuutide PUBLIC_HEADER ja PRIVATE_HEADER seadmiseks, mille abil saab seadistada päiseid käsu install(TARGETS) abil, edastades argumente PUBLIC_HEADER ja PRIVATE_HEADER;
  • Lisatud CMAKE_VS_JUST_MY_CODE_DEBUGGING muutuja ja sihtatribuut VS_JUST_MY_CODE_DEBUGGING, et lubada Visual Studio siluris režiim "Just My Code" kompileerimisel MSVC cl 19.05 ja uuemate versioonide abil;
  • Moodul FindBoost on ümber kujundatud, mis nüüd teiste otsingumoodulite olemasolul töötab terviklikumalt režiimides Config ja Module;
  • Käsk message() toetab nüüd tüüpe NOTICE, VERBOSE,
    SILU ja TRACE;

  • Käsk "export(PACKAGE)" ei tee nüüd midagi, välja arvatud juhul, kui see on muutuja CMAKE_EXPORT_PACKAGE_REGISTRY kaudu selgesõnaliselt lubatud.

Allikas: opennet.ru

Lisa kommentaar