È stato pubblicato il rilascio del generatore di script di compilazione open-source e multipiattaforma CMake 3.28, che funge da alternativa ad Autotools e viene utilizzato in progetti come KDE, LLVM/Clang, MySQL, MariaDB, ReactOS e Blender. CMake si distingue per la fornitura di un semplice linguaggio di script, la capacità di estendere le funzionalità tramite moduli, il supporto per la cache, la disponibilità di strumenti per la cross-compilazione, il supporto per la generazione di file di compilazione per un'ampia gamma di sistemi di build e compilatori, l'inclusione degli strumenti ctest e cpack per definire script di test e di creazione di pacchetti, e lo strumento cmake-gui per configurare interattivamente i parametri di build. Il codice di CMake è scritto in C++ ed è distribuito sotto licenza BSD.
Principali miglioramenti:
- È stata aggiunta la supporto per i moduli definiti nella specifica C++ 20 nei generatori di script di build per Visual Studio e Ninja. La supporto per i moduli è disponibile con LLVM/Clang 16, GCC 14-dev o MSVC 14.34.
- È stata implementata la capacità di compilare codice HIP per GPU NVIDIA utilizzando il compilatore NVCC (NVIDIA CUDA Compiler). È stata aggiunta la variabile CMAKE_HIP_PLATFORM per scegliere la piattaforma GPU per HIP ("amd" o "nvidia").
- Sulle piattaforme Apple è stato garantito il supporto per le directory ".xcframework".
- È stato rimosso il comando "exec_program()", dichiarato obsoleto nella versione 3.0. Per avviare i processi, utilizzare il comando "execute_process()".
- I file generati utilizzando la modalità "FILE_SET" vengono ora trattati per impostazione predefinita come privati, consentendo di formare un grafo di build più efficiente nei generatori Ninja.
- Nei comandi find_library(), find_path() e find_file() su piattaforma Windows, è stato disabilitato il ricerca nelle directory di installazione ottenute dalla variabile d'ambiente PATH (per unificare il comportamento in Windows con altre piattaforme).
Fonte: opennet.ru
