Rilascio del sistema di compilazione CMake 3.18

Introdotto rilascio di un generatore di script open build multipiattaforma CRendere 3.18, che funge da alternativa ad Autotools e viene utilizzato in progetti come KDE, LLVM/Clang, MySQL, MariaDB, ReactOS e Blender. Il codice CMake è scritto in C++ e distribuito sotto la licenza BSD.

CMake si distingue per fornire un linguaggio di scripting semplice, un mezzo per estendere le funzionalità tramite moduli, un numero minimo di dipendenze (nessun legame con M4, Perl o Python), supporto per la memorizzazione nella cache, presenza di strumenti per la compilazione incrociata, supporto per la generazione di build file per un'ampia gamma di sistemi di compilazione e compilatori, la presenza di utilità ctest e cpack per definire script di test e creare pacchetti, utilità cmake-gui per impostare in modo interattivo i parametri di compilazione.

Il principale miglioramenti:

  • Il linguaggio CUDA può essere creato utilizzando Clang su piattaforme diverse da Windows. La compilazione separata CUDA non è ancora supportata su nessuna piattaforma.
  • Aggiunto il supporto per la profilazione degli script CMake utilizzando le opzioni "--profiling-output" e "--profiling-format".
  • I comandi add_library() e add_executable() ora supportano la creazione di Alias ​​​​Target che fanno riferimento a target importati non globali.
  • Aggiunto il comando cmake_lingual() per meta-operazioni su comandi basati su script o integrati.
  • Aggiunto il sottocomando file(CONFIGURE), simile nella funzionalità a configure_file(), ma che passa il contenuto come una stringa anziché come un riferimento al file.
  • Aggiunta un'opzione RICHIESTA ai comandi find_program(), find_library(), find_path() e find_file() per interrompere l'elaborazione con un errore se non viene trovato nulla.
  • Aggiunta variabile "CMAKE_CUDA_ARCHITECTURES" per indicare l'architettura CUDA (impostata automaticamente se la variabile "CMAKE_CUDA_COMPILER_ID" è impostata su "NVIDIA").
  • Aggiunta la proprietà "UNITY_BUILD_MODE" per selezionare l'algoritmo di raggruppamento per i file sorgente inclusi (BATCH, GRUPPO) nei generatori.
  • Aggiunto il modulo CheckLinkerFlag per verificare la correttezza dei flag di collegamento.
  • Aggiunte espressioni del generatore $ , $ , $ e $ .
  • La variabile CTEST_RESOURCE_SPEC_FILE è stata aggiunta all'utilità ctest per specificare il file di specifica della risorsa.

Fonte: opennet.ru

Aggiungi un commento