Esitati ristisriipid CMake 4.0.0, mis on mitmeplatvormiline avatud skriptigeneraator ja alternatiiv Autotools'ile, mida kasutatakse projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake kood on kirjutatud C++ keeles ja levitatakse BSD litsentsi alusel.
CMake paistab silma oma lihtsa skriptikeele, funktsionaalsuse laiendamise moodulite kaudu, puhversüsteemi toe, laia valiku koostamissüsteemide ja kompilaatorite jaoks koostamisfailide genereerimise toega, ctest ja cpack utiliitidega testimis- ja pakendiskeemide määratlemiseks ning cmake-gui utiliidiga interaktiivsete seadistuste tegemiseks.
Peamised muudatused:
- Tugi CMake versioonidele enne 3.5 on lõpetatud. Kui seonduda toetamata versioonidega, kuvab cmake_minimum_required() ja cmake_policy() funktsioonide puhul nüüd vea.
- Loodud keskkonnamuutuja «CMAKE_POLICY_VERSION_MINIMUM», et ületada minimaalset CMake versiooni, mis on vajalik projekti koostamiseks. Lisatud muutuja võimaldab vältida cmake_minimum_required(VERSION) ja cmake_policy(VERSION) kõnede muutmist projektis, näiteks versioonipoliitika seadistamiseks projektides, mis ei paku seda võimalust.
- Generaatori väljendis «$» on lisatud opsioon «NATIVE_PATH», et teisendada failitee CMake esitusviisist (kaustade eraldamiseks kasutatakse alati «/») süsteemi teeks (Unix-sarnastes süsteemides kasutatakse «/» ja Windowsis «\»).
- macOS platvormil, kasutades Ninja tööriista- ja Makefile-baasil koostamisgeneraatorite skripte, kui kaustas «/usr/bin» on kompilaator, jäetakse see nüüd muutmata, ilma et seonduda Xcode kompilaatoriga. macOS platvormile koostamisel on vaikimisi lõpetatud SDK valik ja kompilaatorile «-isysroot» lipu edastamine (SDK valib nüüd kompilaator ise, mitte CMake).
- Lisatud omadus LINK_WARNING_AS_ERROR, kus lingihoiatused käsitletakse vigadena. Selle omaduse tegevuse keelamiseks on lisatud käsku «—link-no-warning-as-error».
- cmake utiliidile on lisatud valik «—project-file» alternatiivse CMakeLists.txt faili nime määramiseks.
- CPack generaatorisse on lisatud võimalus luua tihendamata tar-arhiive.
- Käsk target_link_libraries() ja muut muutuja CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* on täiendatud prefiksiga «LINKER:».
- Lisatud uued muutujad:
- CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL,
- CMAKE__LINK_MODE,
- CMAKE__DEVICE_LINK_MODE,
- CMAKE_LINK_WARNING_AS_ERROR,
- CMAKE_MSVC_RUNTIME_CHECKS,
- CMAKE_DEBUGGER_WORKING_DIRECTORY,
- CMAKE_XCODE_SCHEME_LLDB_INIT_FILE,
- CMAKE_XCODE_SCHEME_TEST_CONFIGURATION.
- Lisatud uued omadused: DEBUGGER_WORKING_DIRECTORY ja VS_SOLUTION_ITEMS (failide kinnitamiseks .sln-le Visual Studios).
- Tagasiside CMake kogudest SunOSi jaoks arhitektuuride sparc64 ja x86_64 jaoks.
Allikas: opennet.ru
