CMake 3.21 ба Meson 0.59 бүтээх системүүдийн хувилбар

KDE, LLVM/Clang, MySQL, MariaDB, ReactOS, Blender зэрэг төслүүдэд ашигладаг Autotools-ийн өөр хувилбар болох CMake 3.21 платформын нээлттэй скрипт үүсгэгчийг танилцуулж байна. CMake код нь C++ хэл дээр бичигдсэн бөгөөд BSD лицензийн дагуу түгээгддэг.

CMake нь энгийн скрипт хэл, модулиар дамжуулан функцийг өргөтгөх хэрэгсэл, хамгийн бага тооны хамаарал (M4, Perl эсвэл Python-д холбогдоогүй), кэшийн дэмжлэг, хөндлөн эмхэтгэл хийх хэрэгслүүд, бүтэц үүсгэх дэмжлэг зэргээрээ онцлог юм. өргөн хүрээний бүтээх систем болон хөрвүүлэгчийн файлууд, тестийн скриптүүд болон бүтээх багцуудыг тодорхойлоход зориулагдсан ctest болон cpack хэрэгслүүд, бүтээх параметрүүдийг интерактив байдлаар тохируулах cmake-gui хэрэгсэл.

Гол сайжруулалтууд:

  • CUDA програмуудыг зөөврийн C++ код болгон хөрвүүлэхэд хялбар болгох зорилготой C++ хэлний аялгуу болох Зөөврийн хувьд гетероген-компьютерийн интерфейс (HIP) програмчлалын хэлний бүрэн дэмжлэгийг нэмсэн.
  • Visual Studio 17 Preview 2022 дээр суурилсан Visual Studio 2022 1.1-д зориулж бүтээх скрипт үүсгэгчийг нэмсэн.
  • Makefile болон Ninja бүтээх скрипт үүсгэгчид C_LINKER_LAUNCHER болон CXX_LINKER_LAUNCHER шинж чанаруудыг нэмсэн бөгөөд эдгээр нь статик анализатор гэх мэт холбогчийг ажиллуулдаг туслах хэрэгслүүдийг ажиллуулахад ашиглаж болно. Генератор нь заасан хэрэгслүүдийг ажиллуулж, холбогчийн нэр болон түүний аргументуудыг дамжуулна.
  • "C_STANDARD" ба "OBJC_STANDARD" шинж чанаруудад, мөн хөрвүүлэгчийн параметрүүдийг (Хөрвүүлэх функцууд) тохируулах хэрэгслүүдэд C17 ба C23 техникийн үзүүлэлтүүдийн дэмжлэгийг нэмсэн.
  • "-toolchain" сонголтыг cmake хэрэгсэлд нэмсэн > хэрэгсэлд хүрэх замыг тодорхойлох.
  • Терминал дээр гарч буй мессежийн төрлийг онцлон тэмдэглэв.
  • Fujitsu хөрвүүлэгчийн дэмжлэгийг нэмсэн.
  • "Foreach ()" команд нь давталтын хувьсагчдыг давталт дотор тусгаарлахыг баталгаажуулдаг.

Нэмж дурдахад, X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME, GTK зэрэг төслүүдийг бүтээхэд ашигладаг Meson 0.59 бүтээх системийн хувилбарыг бид тэмдэглэж болно. Meson-ийн код нь Python дээр бичигдсэн бөгөөд Apache 2.0 лицензийн дагуу лицензтэй. GCC, Clang, Visual Studio болон бусад хөрвүүлэгчийг ашиглан Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS болон Windows дээр хөндлөн эмхэтгэл болон бүтээхийг дэмждэг. C, C++, Fortran, Java, Rust гэх мэт янз бүрийн програмчлалын хэлээр төсөл бүтээх боломжтой. Барилга хийхдээ make utility-ийн оронд Ninja toolkit-ийг анхдагч байдлаар ашигладаг боловч xcode болон VisualStudio зэрэг бусад арын хэсгийг бас ашиглаж болно.

Энэхүү систем нь олон платформын хамаарлын зохицуулагчтай бөгөөд Meson-ыг ашиглан түгээлтийн багцуудыг бүтээх боломжийг олгодог. Ассемблей дүрмүүд нь хялбаршуулсан домэйны хэлээр тодорхойлогддог бөгөөд хэрэглэгчдэд маш их уншигдахуйц, ойлгомжтой байдаг (зохиогчийн санаачилгаар хөгжүүлэгч нь дүрэм бичихэд хамгийн бага цаг зарцуулах ёстой). Зөвхөн сүүлийн бүтээцээс хойш хийсэн өөрчлөлттэй шууд холбоотой бүрэлдэхүүн хэсгүүдийг дахин бүтээдэг нэмэлт бүтээх горимыг дэмждэг. Месоныг давтагдах бүтээцийг үүсгэхэд ашиглаж болох бөгөөд уг бүтцийг өөр өөр орчинд ажиллуулах нь бүрэн ижил гүйцэтгэх боломжтой файлуудыг үүсгэхэд хүргэдэг.

Meson 0.59-ийн гол шинэчлэлүүд:

  • Cython хэлний дэмжлэгийг нэмсэн (С кодтой нэгтгэхийг хялбарчлахад чиглэсэн Python-ийн дэвшилтэт хувилбар).
  • pkgconfig доторх хувьсагчдыг "\" тэмдэгттэй зай гаргахгүйгээр тодорхойлохын тулд "unescaped_variables" болон "unescaped_uninstalled_variables" гэсэн түлхүүр үгсийг нэмсэн.
  • wrc (Wine Resource Compiler)-ийн дэмжлэгийг нэмсэн.
  • Visual Studio 2012 болон Visual Studio 2013-д зориулсан төсөл үүсгэх чадварыг хэрэгжүүлсэн.
  • Дэд төсөлтэй холбоотой бүх тушаалууд одоо дэд төсөл бүрийг анхдагчаар зэрэгцээ ажиллуулдаг. Зэрэгцээ үйл явцын тоог “--num-processes” параметрээр тодорхойлно.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх