plattvormidevaheline avatud ehitus-skripti generaator , mis toimib Autotools'i alternatiivina ja on kasutusel sellistes projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake'i kood on kirjutatud C++ keeles ja levitatakse BSD litsentsi alusel.
CMake paistab silma lihtsa skriptikeele pakkumisega, funktsionaalsuse laiendamise vĂ”imalustega moodulite kaudu, minimaalsete sĂ”ltuvustega (ilma M4, Perl vĂ”i Python'i seotuse), cache'i toe, ristkompileerimise tööriistade olemasolu, laia valiku ehitus-sĂŒsteemide ja kompilaatorite jaoks ehitusfailide genereerimise tuge, samuti ctest ja cpack utiliitide olemasolu testimise skriptide ja pakettide kogumise mÀÀratlemiseks ning interaktiivsete ehitusparameetrite seadistamiseks mĂ”eldud cmake-gui utiliidiga.
Peamised :
- Uus "Ninja Multi-Config" ehitusscripti generaator, mis pĂ”hineb Ninja tööriistakomplektil, vĂ”imaldab nĂŒĂŒd samaaegselt hallata mitmeid ehituskonfiguratsioone, erinevalt vanast generaatorist.
- Visual Studio ehitusscripti generaatoris saab mÀÀrata iga konfiguratsiooniga seotud allikaid (per-config sources).
- Kompilaatori parameetrite seadistamise tööriistadesse (Compile Features) on lisatud meta-parameetrite mÀÀramise vÔimalus CUDA jaoks ("cuda_std_03", "cuda_std_14" jne).
- Lisatud muutujaid "CMAKE_CUDA_RUNTIME_LIBRARY" ja "CUDA_RUNTIME_LIBRARY", et valida runtime-teegid CUDA kasutamisel.
- Lisatud moodul "FindCUDAToolkit", et mÀÀrata sĂŒsteemis saadaval olevat CUDA tööriistakomplekti ilma CUDA keelt kaasamata.
- CMake tööriistale on lisatud kĂ€sk "âdebug-find", et kuvada tĂ€iendavat lugemiseks mĂ”eldud diagnostikat otsingute sooritamisel. Sarnaste eesmĂ€rkide jaoks on lisatud muutuja CMAKE_FIND_DEBUG_MODE.
- Moodulisse "FindCURL" on lisatud tugi CURL tööriistade otsimiseks genereeritud CMake konfigureerimisfailide kaudu "CURLConfig.cmake". Antud kĂ€itumise vĂ€ljalĂŒlitamiseks on ette nĂ€htud muutuja CURL_NO_CURL_CMAKE.
- FindPython moodulisse on lisatud vÔime otsida Python komponente conda juhtimise all olevates virtuaalses keskkondades.
- CTest utiliidile on lisatud valikud "âno-tests=[error|ignore]", et mÀÀrata kĂ€itumine testide puudumisel, ja "ârepeat" katsete uuesti kĂ€ivitamise tingimuste mÀÀramiseks (until-pass, after-timeout).
- Tagatakse INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ja INTERFACE_LINK_DEPENDS ehitusobjekti omaduste ĂŒleviimine staatiliselt kogutud teegis olevate sisemiste sĂ”ltuvuste hulka.
- MinGW tööriistade kasutamisel on vaikimisi keelatud DLL-failide otsing find_library kÀsuga (selle asemel proovib vaikimisi tuua "*.dll.a" teeke).
- Ninja generaatori utiliidi valiku loogika ei sĂ”ltu enam tööriista tĂ€itmisfaili nimest â kasutatakse esimest saadaval olevat utiliiti ninja-build, ninja vĂ”i samu, mis leidub PATH keskkonnamuutujas mÀÀratud radadel.
- CMake utiliidile on lisatud kÀsk "-E rm", mida saab kasutada failide ja kataloogide eemaldamiseks eraldi kÀskude "-E remove" ja "-E remove_directory" asemel.
Allikas: opennet.ru
