CMake 3.17.0 kọ eto idasilẹ

Agbekale Tu ti a agbelebu-Syeed ìmọ Kọ akosile monomono Oṣuwọn 3.17, eyiti o ṣe bi yiyan si Autotools ati pe a lo ninu awọn iṣẹ akanṣe bii KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ati Blender. Awọn koodu CMake ti kọ sinu C ++ ati pinpin labẹ iwe-aṣẹ BSD.

CMake jẹ ohun akiyesi fun ipese ede iwe afọwọkọ ti o rọrun, ọna lati fa iṣẹ ṣiṣe nipasẹ awọn modulu, nọmba to kere julọ ti awọn igbẹkẹle (ko si abuda si M4, Perl tabi Python), atilẹyin caching, wiwa awọn irinṣẹ fun akopọ-agbelebu, atilẹyin fun ṣiṣẹda kikọ. awọn faili fun ọpọlọpọ awọn ọna ṣiṣe ati awọn olupilẹṣẹ, wiwa ctest ati awọn ohun elo cpack fun asọye awọn iwe afọwọkọ idanwo ati awọn idii ile, IwUlO cmake-gui fun eto ibaraenisepo Kọ awọn aye.

akọkọ awọn ilọsiwaju:

  • Olupilẹṣẹ iwe afọwọkọ apejọ tuntun ti o da lori ohun elo irinṣẹ Ninja ti ṣafikun - “Ninja Multi-Config”, eyiti o yatọ si monomono atijọ ni agbara lati ṣe ilana awọn atunto apejọ pupọ ni ẹẹkan.
  • Ni monomono iwe afọwọkọ ijọ fun Visual Studio farahan agbara lati setumo awọn faili orisun ni nkan ṣe pẹlu kọọkan iṣeto ni (fun-konfigi orisun).
  • Agbara lati ṣeto awọn paramita meta fun CUDA (“cuda_std_03”, “cuda_std_14”, ati bẹbẹ lọ) ti jẹ afikun si awọn irinṣẹ fun tito awọn paramita alakojọ (Awọn ẹya Akopọ).
  • Awọn oniyipada ti a ṣafikun “CMAKE_CUDA_RUNTIME_LIBRARY” ati “CUDA_RUNTIME_LIBRARY” lati yan iru awọn ile-ikawe asiko asiko nigba lilo CUDA.
  • Ṣafikun module “FindCUDAToolkit” lati pinnu ohun elo irinṣẹ CUDA ti o wa lori eto laisi ṣiṣe ede CUDA.
  • Ṣafikun pipaṣẹ "--debug-find" lati cmake lati ṣe agbejade awọn iwadii afikun kika nigba ṣiṣe awọn iṣẹ wiwa. Fun awọn idi ti o jọra, CMAKE_FIND_DEBUG_MODE oniyipada ti jẹ afikun.
  • Atilẹyin ti a ṣafikun fun wiwa awọn irinṣẹ CURL nipa lilo awọn faili atunto ti ipilẹṣẹ cmake “CURLConfig.cmake” si module “FindCURL”. Lati mu ihuwasi yii jẹ, a pese oniyipada CURL_NO_CURL_CMAKE.
  • Fidio FindPython ti ṣafikun agbara lati wa awọn paati Python ni awọn agbegbe foju ti iṣakoso nipa lilo “conda”.
  • IwUlO ctest ti ṣafikun awọn aṣayan “--no-tests=[aṣiṣe|foju]” lati ṣe asọye ihuwasi ninu ọran ti ko si awọn idanwo ati “--tun” lati ṣeto awọn ipo fun awọn idanwo atunṣiṣẹ (titi di gbaja, lẹhin-akoko).
  • Awọn ohun-ini ibi-afẹde apejọ INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ati INTERFACE_LINK_DEPENDS ti wa ni gbigbe laarin awọn igbẹkẹle inu ti awọn ile-ikawe ti o pejọ.
  • Nigbati o ba nlo ohun elo irinṣẹ MinGW, wiwa awọn faili DLL pẹlu aṣẹ find_library jẹ alaabo nipasẹ aiyipada (dipo, igbiyanju aiyipada ni lati gbe awọn ile-ikawe ".dll.a" wọle).
  • Imọye fun yiyan ohun elo ninja ninu olupilẹṣẹ Ninja ni bayi ko dale lori orukọ faili ti o le ṣiṣẹ - ninja-build akọkọ, ninja tabi ohun elo samu ti a rii ni awọn ọna ti asọye nipasẹ oniyipada ayika PATH ti lo.
  • Ṣafikun aṣẹ “-E rm” kan si cmake ti o le ṣee lo lati yọ awọn faili ati awọn ilana kuro dipo “-E yọ kuro” ati “-E remove_directory” lọtọ.

orisun: opennet.ru

Fi ọrọìwòye kun