Pagpagawas sa CMake 3.17.0 nga sistema sa pagtukod

Gipasa ni pagpagawas sa usa ka cross-platform open build script generator CMmake 3.17, nga naglihok isip alternatibo sa Autotools ug gigamit sa mga proyekto sama sa KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ug Blender. Ang code sa CMake gisulat sa C++ ug giapod-apod ubos sa lisensya sa BSD.

Nailhan ang CMake sa paghatag ug yano nga sinultian nga scripting, usa ka paagi sa pagpalapad sa pagpaandar pinaagi sa mga module, gamay nga gidaghanon sa mga dependency (walay pagbugkos sa M4, Perl o Python), suporta sa pag-cache, ang presensya sa mga himan alang sa cross-compilation, suporta alang sa paghimo sa pagtukod mga file alang sa usa ka halapad nga mga sistema sa pagtukod ug mga compiler, ang presensya nga ctest ug cpack nga mga gamit alang sa pagtino sa mga script sa pagsulay ug mga pakete sa pagtukod, gamit sa cmake-gui alang sa interactive nga pagpahimutang sa mga parameter sa pagtukod.

nag-unang mga kalamboan:

  • Usa ka bag-ong assembly script generator nga gibase sa Ninja toolkit ang gidugang - "Ninja Multi-Config", nga lahi sa daan nga generator sa abilidad sa pagproseso sa pipila ka mga configuration sa usa ka higayon.
  • Sa assembly script generator alang sa Visual Studio nagpakita ang abilidad sa paghubit sa mga source file nga nalangkit sa matag configuration (per-config sources).
  • Ang abilidad sa pagtakda sa meta parameters para sa CUDA (β€œcuda_std_03”, β€œcuda_std_14”, ug uban pa) gidugang sa mga himan para sa pagtakda sa mga parameter sa compiler (Compile Features).
  • Gidugang ang mga variable nga "CMAKE_CUDA_RUNTIME_LIBRARY" ug "CUDA_RUNTIME_LIBRARY" aron mapili ang klase sa runtime nga mga librarya kung gamiton ang CUDA.
  • Gidugang ang module nga "FindCUDAToolkit" aron mahibal-an ang toolkit sa CUDA nga magamit sa sistema nga wala magamit ang lengguwahe sa CUDA.
  • Gidugang ang "--debug-find" nga mando sa cmake aron mag-output og dugang nga mabasa nga mga diagnostic kung maghimo mga operasyon sa pagpangita. Para sa parehas nga katuyoan, ang CMAKE_FIND_DEBUG_MODE variable gidugang.
  • Gidugang nga suporta alang sa pagpangita sa CURL nga mga himan gamit ang cmake-generated configuration files "CURLConfig.cmake" sa "FindCURL" module. Aron ma-disable kini nga pamatasan, gihatag ang CURL_NO_CURL_CMAKE nga variable.
  • Ang FindPython module midugang sa abilidad sa pagpangita sa Python component sa virtual nga palibot nga gidumala gamit ang "conda".
  • Gidugang sa ctest utility ang "--no-tests=[error|ignore]" nga mga kapilian aron ipasabut ang pamatasan kung wala’y pagsulay ug "--repeat" aron itakda ang mga kondisyon alang sa pagpadagan pag-usab nga mga pagsulay (hangtod sa pag-pass, pagkahuman sa oras).
  • Ang target nga asembliya nga mga kabtangan INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ug INTERFACE_LINK_DEPENDS gibalhin na karon sa mga internal nga dependency sa statically assembled nga mga librarya.
  • Kung gigamit ang toolkit sa MinGW, ang pagpangita sa mga file sa DLL nga adunay command find_library gi-disable pinaagi sa default (hinoon, ang default nga pagsulay mao ang pag-import sa ".dll.a" nga mga librarya).
  • Ang lohika sa pagpili sa ninja utility sa Ninja generator wala na magdepende sa ngalan sa executable file - ang unang ninja-build, ninja o samu utility nga makita sa mga dalan nga gihubit pinaagi sa PATH environment variable gigamit.
  • Gidugang ang usa ka "-E rm" nga sugo sa cmake nga magamit sa pagtangtang sa mga file ug mga direktoryo imbes sa bulag nga "-E remove" ug "-E remove_directory" nga mga sugo.

Source: opennet.ru

Idugang sa usa ka comment