È stato presentato il rilascio del generatore di build open source e multipiattaforma CMake 4.1.0, che funge da alternativa a Autotools ed è utilizzato in progetti come KDE, LLVM/Clang, MySQL, MariaDB, ReactOS e Blender. Il codice di CMake è scritto in C++ e distribuito con licenza BSD.
CMake è noto per fornire un linguaggio di script semplice, per le sue capacità di estensione tramite moduli, per il supporto della caching, per la disponibilità di strumenti per la cross-compilazione, per la generazione di file di build per un ampio spettro di sistemi di build e compilatori, e per le utility ctest e cpack destinate a definire script di test e pacchetti di build, oltre all'utility cmake-gui per la configurazione interattiva dei parametri di build.
Principali modifiche:
- Nel cmake-configure-log è stata garantita la registrazione degli eventi delle comandi find_package(), find_path(), find_file(), find_library() e find_program() al primo loro utilizzo, quando il risultato cambia stato da 'non trovato' a 'trovato'.
- Nella funzione cmake_pkg_config() è stato aggiunto il supporto per i sotto-comandi IMPORT e POPULATE per gestire le dipendenze basate su pkg-config.
- È stata aggiunta la variabile CMAKE_FIND_REQUIRED, che imposta la modalità REQUIRED nei comandi find_package(), find_path(), find_file(), find_library() e find_program(). Per ignorare il valore della variabile nei comandi, può essere utilizzata la parola chiave OPTIONAL.
- Nei moduli FindBLAS e FindLAPACK è stato implementato il supporto per NVPL (NVIDIA Performance Libraries).
- Nelle operazioni string(REGEX MATCHALL), string(REGEX REPLACE) e list(TRANSFORM REPLACE) è stato implementato il supporto per il marcatore di inizio ('^') nelle espressioni regolari.
- L'espressione del generatore TARGET_PROPERTY ora copre le proprietà LINK_LIBRARIES e INTERFACE_LINK_LIBRARIES.
Fonte: opennet.ru
