rilascio del generatore di script di build open-source multipiattaforma , che funge da alternativa ad Autotools e viene 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 semplice linguaggio di scripting, estensibilità delle funzionalità tramite moduli, un numero minimo di dipendenze (senza legami con M4, Perl o Python), supporto per il caching, strumenti per la cross-compilazione, generazione di file di build per una vasta gamma di sistemi di build e compilatori, utility ctest e cpack per definire script di test e di packaging, e l'utility cmake-gui per la configurazione interattiva delle impostazioni di build.
Principali :
- Aggiunta la supporto iniziale per il linguaggio nel generatore di script di assemblaggio basato sull'utility Ninja , sviluppato da Apple;
- Aggiunta la supporto della variante del compilatore Clang per Windows, che compila con ABI MSVC, ma utilizza opzioni della riga di comando in stile GNU;
- Aggiunte le variabili CMAKE_MSVC_RUNTIME_LIBRARY e MSVC_RUNTIME_LIBRARY per scegliere le librerie runtime utilizzate dai compilatori basati su ABI MSVC (MS Visual Studio);
- Per i compilatori come MSVC, è stata interrotta per impostazione predefinita l'enumerazione dei flag di controllo dell'output di avvisi, come «/W3»;
- Aggiunta l'espressione del generatore «COMPILE_LANG_AND_ID:» per determinare le opzioni del compilatore per i file target, utilizzando le variabili CMAKE__COMPILER_ID e LANGUAGE per ogni file di codice;
- Nelle espressioni del generatore C_COMPILER_ID, CXX_COMPILER_ID,
CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
COMPILE_LANG_AND_ID e PLATFORM_ID è stata aggiunta la supporto per la corrispondenza di un valore con una lista di elementi separati da virgola; - Aggiunta la variabile CMAKE_FIND_PACKAGE_PREFER_CONFIG, in cui la chiamata find_package() cercherà prima il file di configurazione del pacchetto, anche se è disponibile un modulo di ricerca;
- Per le librerie interfaccia è stata aggiunta la supporto per impostare le proprietà PUBLIC_HEADER e PRIVATE_HEADER, che possono essere impostate utilizzando il comando install(TARGETS) tramite la trasmissione degli argomenti PUBLIC_HEADER e PRIVATE_HEADER;
- È stata aggiunta la variabile CMAKE_VS_JUST_MY_CODE_DEBUGGING e la proprietà di destinazione VS_JUST_MY_CODE_DEBUGGING per abilitare la modalità «Just My Code» nel debugger di Visual Studio durante la compilazione utilizzando MSVC cl 19.05 e versioni successive;
- Il modulo FindBoost è stato riprogettato e ora funziona in modo più coerente nelle modalità Config e Module in presenza di altri moduli di ricerca;
- È stata aggiunta al comando message() la supporto per i tipi NOTICE, VERBOSE,
DEBUG e TRACE; - Il comando «export(PACKAGE)» ora non fa nulla finché non è esplicitamente attivato tramite la variabile CMAKE_EXPORT_PACKAGE_REGISTRY.
Fonte: opennet.ru
