Rilascio del sistema di build CMake 3.17.0

Presentato rilascio del generatore di script di build open-source multipiattaforma CMake 3.17, 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 miglioramenti:

  • Aggiunto un nuovo generatore di script di build basato su Ninja: "Ninja Multi-Config", che si distingue dal vecchio generatore per la possibilità di gestire più configurazioni di build contemporaneamente.
  • Nel generatore di script di build per Visual Studio è stata introdotta la possibilità di definire file sorgente associati a ciascuna configurazione (per-config sources).
  • Nella sezione per la configurazione delle funzionalità di compilazione (Compile Features) è stata aggiunta la possibilità di specificare meta-parametri per CUDA ("cuda_std_03", "cuda_std_14" ecc.).
  • Aggiunte le variabili "CMAKE_CUDA_RUNTIME_LIBRARY" e "CUDA_RUNTIME_LIBRARY" per selezionare il tipo di librerie runtime quando si utilizza CUDA.
  • Aggiunto il modulo "FindCUDAToolkit" per rilevare l'installazione del toolkit CUDA disponibile sul sistema senza abilitare il linguaggio CUDA.
  • Aggiunta al comando cmake l'opzione "—debug-find" per fornire diagnosi leggibili aggiuntive durante le operazioni di ricerca. È stata aggiunta anche la variabile CMAKE_FIND_DEBUG_MODE per scopi simili.
  • Nel modulo «FindCURL» è stata aggiunta la supporto per la ricerca degli strumenti CURL utilizzando i file di configurazione cmake generati «CURLConfig.cmake». Per disabilitare questo comportamento, è disponibile la variabile CURL_NO_CURL_CMAKE.
  • Nel modulo FindPython è stata aggiunta la possibilità di cercare i componenti Python in ambienti virtuali gestiti tramite «conda».
  • Nell'utilità ctest sono state aggiunte le opzioni «—no-tests=[error|ignore]» per definire il comportamento in assenza di test e «—repeat» per impostare le condizioni di ripetizione dei test (until-pass, after-timeout).
  • È stata garantita la trasferibilità delle proprietà della destinazione di build INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS nel numero delle dipendenze interne delle librerie compilate staticamente.
  • Utilizzando l' strumenti MinGW, per impostazione predefinita la ricerca di file DLL è disattivata con il comando find_library (invece, per impostazione predefinita, si tenta di importare le librerie «.dll.a»).
  • La logica di selezione dell'utilità ninja nel generatore Ninja ora non dipende dal nome del file eseguibile—viene utilizzata la prima utilità ninja-build, ninja o samu trovata nei percorsi definiti tramite la variabile di ambiente PATH.
  • Nel'utilità cmake è stato aggiunto il comando «-E rm», che può essere utilizzato per rimuovere file e directory invece dei comandi separati «-E remove» e «-E remove_directory».

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster