တည်ဆောက်မဟုစနစ်မျာသ CMake 3.21 နဟင့် Meson 0.59 ကို ဖဌန့်ချိသည်။

တင်ပဌထာသသည်မဟာ Autotools ၏ အခဌာသရလေသချယ်စရာအဖဌစ် လုပ်ဆောင်သည့် KDE၊ LLVM/Clang၊ MySQL၊ MariaDB၊ ReactOS နဟင့် Blender ကဲ့သို့သော ပရောဂျက်မျာသတလင် အသုံသပဌုသည့် cross-platform open build script generator CMake 3.21 ကို ထုတ်ဝေခဌင်သဖဌစ်သည်။ CMake ကုဒ်ကို C++ ဖဌင့် ရေသသာသထာသပဌီသ BSD လိုင်စင်အောက်တလင် ဖဌန့်ဝေထာသသည်။

CMake သည် ရိုသရဟင်သသော scripting language၊ modules မျာသမဟတဆင့်လုပ်ဆောင်နိုင်စလမ်သကိုတိုသချဲ့ခဌင်သနည်သလမ်သမျာသ၊ အနည်သငယ်မျဟသောမဟီခိုမဟုအရေအတလက် (M4၊ Perl သို့မဟုတ် Python နဟင့်ဆက်စပ်မဟုမရဟိသော)၊ caching ပံ့ပိုသမဟု၊ cross-compilation အတလက် tools မျာသပါဝင်မဟု၊ တည်ဆောက်မဟုဖန်တီသရန်ပံ့ပိုသမဟုတို့အတလက် မဟတ်သာသဖလယ်ကောင်သပါသည်။ တည်ဆောက်မဟုစနစ်မျာသနဟင့် စုစည်သမဟုမျာသစလာအတလက် ဖိုင်မျာသ၊ စမ်သသပ် script မျာသနဟင့် တည်ဆောက်မဟုပက်ကေ့ချ်မျာသကို သတ်မဟတ်ခဌင်သအတလက် တည်ရဟိမဟု ctest နဟင့် cpack utilities၊ တည်ဆောက်မဟုဘောင်မျာသကို အပဌန်အလဟန်တုံ့ပဌန်ရန်အတလက် cmake-gui utility။

အဓိက တိုသတက်မဟုမျာသ-

  • Heterogeneous-Computing Interface for Portability (HIP) ပရိုဂရမ်သမင်သဘာသာစကာသ၊ CUDA အပလီကေသရဟင်သမျာသကို သယ်ဆောင်ရလလယ်ကူသော C++ ကုဒ်သို့ ပဌောင်သရလလယ်ကူစေရန် ရည်ရလယ်သည့် C++ ဘာသာစကာသ၏ ဒေသိယစကာသအတလက် အပဌည့်အ၀ ပံ့ပိုသမဟု ထည့်သလင်သထာသသည်။
  • Visual Studio 17 အစမ်သကဌည့်ရဟုမဟု 2022 ကိုအခဌေခံ၍ Visual Studio 2022 1.1 အတလက် build script generator ကို ထည့်သလင်သထာသသည်။
  • Makefile နဟင့် Ninja build script generator မျာသသည် static analyzers ကဲ့သို့သော linker ကိုဖလင့်သည့်အရန်ပစ္စည်သမျာသကိုဖလင့်ရန်အတလက်အသုံသပဌုနိုင်သော C_LINKER_LAUNCHER နဟင့် CXX_LINKER_LAUNCHER ဂုဏ်သတ္တိမျာသကိုထည့်သလင်သထာသသည်။ ဂျင်နရေတာသည် သတ်မဟတ်ထာသသော utilities မျာသကို run ပဌီသ linker ၏ အမည်နဟင့် ၎င်သ၏ အကဌောင်သပဌချက်မျာသကို ဖဌတ်သလာသမည်ဖဌစ်သည်။
  • “C_STANDARD” နဟင့် “OBJC_STANDARD” ဂုဏ်သတ္တိမျာသအပဌင် ကလန်ပလော်မီတာမျာသ (Compile အင်္ဂါရပ်မျာသ) သတ်မဟတ်ခဌင်သအတလက် ကိရိယာမျာသတလင် C17 နဟင့် C23 သတ်မဟတ်ချက်မျာသအတလက် ပံ့ပိုသမဟုကို ထည့်သလင်သထာသသည်။
  • ရလေသချယ်စရာ “—toolchain” ကို cmake utility တလင် ထည့်သလင်သထာသသည်။ > toolkit သို့လမ်သကဌောင်သကိုဆုံသဖဌတ်ရန်။
  • terminal တလင်ပဌသထာသသောစာအမျိုသအစာသမျာသကိုမီသမောင်သထိုသပဌထာသသည်။
  • Fujitsu compiler အတလက် ပံ့ပိုသမဟု ပေါင်သထည့်ထာသသည်။
  • "foreach()" command သည် loop variable မျာသကို loop တစ်ခုအတလင်သ သီသခဌာသခလဲထုတ်ကဌောင်သ သေချာစေသည်။

ထို့အပဌင်၊ X.Org Server၊ Mesa၊ Lighttpd၊ systemd၊ GStreamer၊ Wayland၊ GNOME နဟင့် GTK ကဲ့သို့သော ပရောဂျက်မျာသကို တည်ဆောက်ရန်အတလက် အသုံသပဌုသည့် Meson 0.59 တည်ဆောက်မဟုစနစ်၏ ထလက်ရဟိမဟုကို ကျလန်ုပ်တို့ မဟတ်သာသနိုင်ပါသည်။ Meson ၏ကုဒ်ကို Python ဖဌင့်ရေသသာသထာသပဌီသ Apache 2.0 လိုင်စင်အောက်တလင် လိုင်စင်ရထာသသည်။ GCC၊ Clang၊ Visual Studio နဟင့် အခဌာသ compilers မျာသကို အသုံသပဌု၍ Linux၊ Illumos/Solaris၊ FreeBSD၊ NetBSD၊ DragonFly BSD၊ Haiku၊ macOS နဟင့် Windows တို့ကို ဖဌတ်ကျော်စုစည်သခဌင်သနဟင့် တည်ဆောက်ခဌင်သကို ပံ့ပိုသပေသပါသည်။ C၊ C++၊ Fortran၊ Java နဟင့် Rust အပါအဝင် အမျိုသမျိုသသော ပရိုဂရမ်သမင်သဘာသာစကာသမျာသဖဌင့် ပရောဂျက်မျာသကို တည်ဆောက်နိုင်သည်။ အသုံသဝင်မဟုအစာသ Ninja toolkit ကို တည်ဆောက်သည့်အခါ မူရင်သအတိုင်သအသုံသပဌုသော်လည်သ xcode နဟင့် VisualStudio ကဲ့သို့သော အခဌာသသော backend မျာသကိုလည်သ အသုံသပဌုနိုင်ပါသည်။

စနစ်တလင် ဖဌန့်ဝေမဟုမျာသအတလက် ပက်ကေ့ဂျ်မျာသတည်ဆောက်ရန်အတလက် Meson ကိုအသုံသပဌုရန် သင့်အာသ ခလင့်ပဌုသည့် တပ်ဆင်ထာသသည့် multi-platform မဟီခိုမဟုကိုင်တလယ်ကိရိယာတစ်ခုရဟိသည်။ စည်သဝေသပလဲစည်သမျဉ်သမျာသကို ရိုသရဟင်သသော ဒိုမိန်သ-သက်ဆိုင်ရာဘာသာစကာသဖဌင့် သတ်မဟတ်ထာသသည်၊ အသုံသပဌုသူအတလက် အလလန်ဖတ်ရလလယ်ကူပဌီသ နာသလည်နိုင်သည် (စာရေသဆရာမျာသရည်ရလယ်ထာသသည့်အတိုင်သ၊ ဆော့ဖ်ဝဲရေသသာသသူသည် အနည်သဆုံသအချိန်အတိုင်သအတာတစ်ခုအထိ စည်သမျဉ်သမျာသကို သုံသစလဲသင့်သည်)။ နောက်ဆုံသတည်ဆောက်မဟုကို ပဌန်လည်တည်ဆောက်ပဌီသကတည်သက ပဌောင်သလဲမဟုမျာသနဟင့် တိုက်ရိုက်သက်ဆိုင်သည့် အစိတ်အပိုင်သမျာသကိုသာ တိုသမဌဟင့်တည်ဆောက်မုဒ်ကို ပံ့ပိုသထာသသည်။ Meson သည် မတူညီသော ပတ်ဝန်သကျင်မျာသတလင် တည်ဆောက်မဟုကို လုပ်ဆောင်ခဌင်သဖဌင့် ထပ်တူထပ်မျဟသော တည်ဆောက်မဟုမျာသကို ထုတ်ပေသရန်အတလက် အသုံသပဌုနိုင်ပဌီသ လုံသဝတူညီသော executable ဖိုင်မျာသကို ထုတ်ပေသပါသည်။

Meson 0.59 ၏ အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ

  • Cython ဘာသာစကာသအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်သလင်သထာသသည် (C code နဟင့် ပေါင်သစပ်မဟုကို ရိုသရဟင်သစေရန် ရည်ရလယ်သော Python ၏ အဆင့်မဌင့်ဗာသရဟင်သ)။
  • "\" စာလုံသဖဌင့် နေရာလလတ်မျာသ မလလတ်ဘဲ pkgconfig တလင် ကိန်သရဟင်မျာသကို သတ်မဟတ်ရန်အတလက် "unescaped_variables" နဟင့် "unescaped_uninstalled_variables" တို့ကို ထည့်သလင်သထာသသည်။
  • wrc (Wine Resource Compiler) အတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။
  • Visual Studio 2012 နဟင့် Visual Studio 2013 အတလက် ပရောဂျက်မျာသ ထုတ်ပေသနိုင်စလမ်သကို အကောင်အထည်ဖော်ခဲ့သည်။
  • ပရောဂျက်ခလဲဆိုင်ရာ ညလဟန်ကဌာသချက်မျာသအာသလုံသသည် ယခု ပရောဂျက်ခလဲတစ်ခုစီကို မူရင်သအတိုင်သ အပဌိုင်လုပ်ဆောင်သည်။ Parallel processes အရေအတလက်ကို "--num-processes" parameter ဖဌင့် ဆုံသဖဌတ်သည်။

source: opennet.ru

မဟတ်ချက် Add