Liberazione di u sistema di creazione CMake 3.17.0

Intruduttu liberazione di un generatore di script di creazione aperta multipiattaforma CMake 3.17, chì agisce cum'è una alternativa à Autotools è hè utilizatu in prughjetti cum'è KDE, LLVM / Clang, MySQL, MariaDB, ReactOS è Blender. U codice CMake hè scrittu in C++ è distribuitu sottu a licenza BSD.

CMake hè notu per furnisce un linguaghju di scrittura simplice, un mezzu per estenderà a funziunalità attraversu moduli, un numeru minimu di dipendenze (senza vinculazione à M4, Perl o Python), supportu di cache, presenza di strumenti per a compilazione incruciata, supportu per a generazione di custruzzione. i schedarii per una larga gamma di sistemi di compilazione è compilatori, a presenza ctest è l'utilità cpack per a definizione di script di prova è di custruzzione di pacchetti, utilità cmake-gui per stabilisce in modu interattivu i paràmetri di creazione.

menu migliurà:

  • Un novu generatore di script di assemblea basatu annantu à u toolkit Ninja hè statu aghjuntu - "Ninja Multi-Config", chì difiere da u vechju generatore in a capacità di processà parechje cunfigurazioni di assemblea à una volta.
  • In u generatore di script di assemblea per Visual Studio apparsu a capacità di definisce i fugliali fonte assuciati à ogni cunfigurazione (fonti per cunfigurazione).
  • A capacità di stabilisce meta-parametri per CUDA ("cuda_std_03", "cuda_std_14", etc.) hè stata aghjunta à l'arnesi per stabilisce i paràmetri di u compilatore (Compile Features).
  • Variabili aghjunte "CMAKE_CUDA_RUNTIME_LIBRARY" è "CUDA_RUNTIME_LIBRARY" per selezziunà u tipu di librerie runtime quandu si usa CUDA.
  • Aggiuntu u modulu "FindCUDAToolkit" per determinà u toolkit CUDA dispunibule nantu à u sistema senza attivà a lingua CUDA.
  • Aggiuntu u cumandamentu "--debug-find" à cmake per eseguisce diagnostichi leggibili supplementari quandu eseguite operazioni di ricerca. Per scopi simili, a variabile CMAKE_FIND_DEBUG_MODE hè stata aghjunta.
  • Aghjunghje supportu per a ricerca di strumenti CURL utilizendu i schedarii di cunfigurazione generati da cmake "CURLConfig.cmake" à u modulu "FindCURL". Per disattivà stu cumpurtamentu, a variabile CURL_NO_CURL_CMAKE hè furnita.
  • U modulu FindPython hà aghjustatu a capacità di ricercà cumpunenti Python in ambienti virtuali gestiti cù "conda".
  • L'utilità ctest hà aghjustatu l'opzioni "--no-tests=[error|ignore]" per definisce u cumpurtamentu in u casu di senza teste è "--repeat" per stabilisce e cundizioni per a ripetizione di teste (finu à passà, dopu u timeout).
  • E proprietà di destinazione di l'assemblea INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES è INTERFACE_LINK_DEPENDS sò avà trasferite trà e dipendenze interne di biblioteche assemblate staticamente.
  • Quandu si usa u toolkit MinGW, a ricerca di i fugliali DLL cù u cumandimu find_library hè disattivata per automaticamente (invece, u tentativu predeterminatu hè di impurtà biblioteche ".dll.a").
  • A logica per selezziunà l'utilità ninja in u generatore Ninja avà ùn dipende micca di u nome di u schedariu eseguibile - a prima utilità ninja-build, ninja o samu truvata in i percorsi definiti attraversu a variabile d'ambiente PATH hè utilizata.
  • Aggiuntu un cumandamentu "-E rm" à cmake chì pò esse usatu per sguassà i schedari è i cartulari invece di i cumandamenti separati "-E remove" è "-E remove_directory".

Source: opennet.ru

Add a comment