Release fan CMake 3.17.0 build systeem

Yntrodusearre frijlitting fan in cross-platform iepen build skriptgenerator CMake 3.17, dat fungearret as alternatyf foar Autotools en wurdt brûkt yn projekten lykas KDE, LLVM/Clang, MySQL, MariaDB, ReactOS en Blender. De CMake-koade is skreaun yn C++ en ferspraat ûnder de BSD-lisinsje.

CMake is opmerklik foar it leverjen fan in ienfâldige skripttaal, in middel om funksjonaliteit út te wreidzjen fia modules, in minimaal oantal ôfhinklikens (gjin bining oan M4, Perl of Python), caching-stipe, de oanwêzigens fan ark foar cross-kompilaasje, stipe foar it generearjen fan build triemmen foar in breed skala oan build systemen en gearstallers, de oanwêzigens ctest en cpack nutsfoarsjennings foar it definiearjen fan test skripts en gebou pakketten, cmake-gui nut foar ynteraktyf ynstellen build parameters.

haad ferbetterings:

  • In nije gearstallingsskriptgenerator basearre op de Ninja toolkit is tafoege - "Ninja Multi-Config", dy't ferskilt fan 'e âlde generator yn 'e mooglikheid om ferskate gearstallingskonfiguraasjes tagelyk te ferwurkjen.
  • Yn de gearstalling skript generator foar Visual Studio ferskynde de mooglikheid om boarne triemmen te definiearjen ferbûn mei elke konfiguraasje (per-config boarnen).
  • De mooglikheid om metaparameters foar CUDA yn te stellen ("cuda_std_03", "cuda_std_14", ensfh.) Is tafoege oan de ark foar it ynstellen fan kompilatorparameters (Compile Features).
  • Tafoege fariabelen "CMAKE_CUDA_RUNTIME_LIBRARY" en "CUDA_RUNTIME_LIBRARY" om it type runtime-biblioteken te selektearjen by it brûken fan CUDA.
  • De module "FindCUDAToolkit" tafoege om it CUDA-ark dat beskikber is op it systeem te bepalen sûnder de CUDA-taal yn te skeakeljen.
  • Tafoege "--debug-find" kommando om cmake om ekstra lêsbere diagnostyk út te fieren by it útfieren fan sykaksjes. Foar ferlykbere doelen is de fariabele CMAKE_FIND_DEBUG_MODE tafoege.
  • Stipe tafoege foar it sykjen nei CURL-ark mei cmake-genereare konfiguraasjebestannen "CURLConfig.cmake" oan 'e module "FindCURL". Om dit gedrach út te skeakeljen, wurdt de fariabele CURL_NO_CURL_CMAKE levere.
  • De FindPython-module hat de mooglikheid tafoege om te sykjen nei Python-komponinten yn firtuele omjouwings beheard mei "conda".
  • It ctest-hulpprogramma hat de opsjes "--no-tests=[flater|ignore]" tafoege om it gedrach te definiearjen yn it gefal fan gjin tests en "--repeat" om de betingsten yn te stellen foar it opnij útfieren fan tests (oant-pass, nei-time-out).
  • De gearstallingsdoeleigenskippen INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES en INTERFACE_LINK_DEPENDS wurde no oerdroegen ûnder de ynterne ôfhinklikens fan statysk gearstalde bibleteken.
  • By it brûken fan de MinGW toolkit is it sykjen nei DLL-bestannen mei it kommando find_library standert útskeakele (ynstee is de standert besykjen om ".dll.a"-biblioteken te ymportearjen).
  • De logika foar it selektearjen fan it ninja-hulpprogramma yn 'e Ninja-generator is no net ôfhinklik fan de namme fan it útfierbere bestân - it earste ninja-build, ninja of samu-hulpprogramma fûn yn 'e paden definieare troch de PATH-omjouwingsfariabele wurdt brûkt.
  • In kommando "-E rm" tafoege oan cmake dat kin wurde brûkt om bestannen en mappen te ferwiderjen ynstee fan de aparte kommando's "-E remove" en "-E remove_directory".

Boarne: opennet.ru

Add a comment