គោលដៅសំខាន់នៃការអភិវឌ្ឍន៍ Meson គឺដើម្បីផ្តល់នូវល្បឿនខ្ពស់នៃដំណើរការដំឡើងរួមជាមួយនឹងភាពងាយស្រួល និងភាពងាយស្រួលនៃការប្រើប្រាស់។ ជំនួសឱ្យ make utility នោះ default build ប្រើ toolkit
សំខាន់
- បានបន្ថែមការគាំទ្រពិសោធន៍សម្រាប់ Webassembly ដោយប្រើ Emscripten ជាអ្នកចងក្រង។
- ការគាំទ្រសម្រាប់វេទិកា Illumos និង Solaris ត្រូវបានធ្វើឱ្យប្រសើរឡើងយ៉ាងខ្លាំង និងនាំយកមកនូវលក្ខខណ្ឌការងារ។
- ធានាថាស្គ្រីបអន្តរជាតិដែលមានមូលដ្ឋានលើ gettext មិនត្រូវបានអើពើ ប្រសិនបើប្រព័ន្ធមិនបានដំឡើងប្រអប់ឧបករណ៍ gettext (ពីមុន កំហុសត្រូវបានបង្ហាញនៅពេលប្រើម៉ូឌុល i18n នៅលើប្រព័ន្ធដែលមិនមាន gettext);
- ធ្វើឱ្យប្រសើរឡើងនូវការគាំទ្រសម្រាប់បណ្ណាល័យឋិតិវន្ត។ បញ្ហាជាច្រើននៅពេលប្រើបណ្ណាល័យឋិតិវន្តដែលមិនបានដំឡើងត្រូវបានដោះស្រាយ។
- បានបន្ថែមសមត្ថភាពក្នុងការប្រើវចនានុក្រមដើម្បីកំណត់អថេរបរិស្ថាន។ នៅពេលហៅបរិស្ថាន() ធាតុទីមួយអាចត្រូវបានបញ្ជាក់ជាវចនានុក្រមដែលអថេរបរិស្ថានត្រូវបានកំណត់ក្នុងទម្រង់សោ/តម្លៃ។ អថេរទាំងនេះនឹងត្រូវបានផ្ទេរទៅបរិស្ថាន_វត្ថុដូចជាប្រសិនបើពួកវាត្រូវបានកំណត់ជាលក្ខណៈបុគ្គលតាមរយៈវិធី set()។ ឥឡូវនេះវចនានុក្រមក៏អាចត្រូវបានបញ្ជូនទៅមុខងារផ្សេងៗដែលគាំទ្រអាគុយម៉ង់ "env" ។
- បានបន្ថែមមុខងារ "runtarget alias_target(target_name, dep1, ...)" ដែលបង្កើតគោលដៅស្ថាបនាកម្រិតទីមួយថ្មី ដែលអាចហៅបានជាមួយនឹងផ្នែកខាងក្រោយស្ថាបនាដែលបានជ្រើសរើស (ឧ. "ninja target_name")។ គោលដៅស្ថាបនានេះមិនដំណើរការពាក្យបញ្ជាណាមួយទេ ប៉ុន្តែធានាថាភាពអាស្រ័យទាំងអស់ត្រូវបានបង្កើតឡើង។
- បានបើកដំណើរការការកំណត់ដោយស្វ័យប្រវត្តិនៃបរិស្ថាន PKG_CONFIG_SYSROOT_DIR ដែលប្រែប្រួលក្នុងអំឡុងពេលការចងក្រងឆ្លង ប្រសិនបើមានការកំណត់ sys_root នៅក្នុងផ្នែក “[properties]”។
- បានបន្ថែមជម្រើស "--gdb-path" ដើម្បីកំណត់ផ្លូវទៅកាន់ឧបករណ៍បំបាត់កំហុស GDB នៅពេលបញ្ជាក់ជម្រើស "--gdb testname" ដើម្បីដំណើរការ GDB ជាមួយស្គ្រីបសាកល្បងដែលបានបញ្ជាក់។
- បានបន្ថែមការរកឃើញដោយស្វ័យប្រវត្តិនៃគោលដៅបង្កើត clang-tidy ដើម្បីដំណើរការ linter នេះជាមួយនឹងឯកសារប្រភពទាំងអស់។ គោលដៅត្រូវបានបង្កើតឡើង ប្រសិនបើ clang-tidy មាននៅក្នុងប្រព័ន្ធ ហើយឯកសារ “.clang-tidy” (ឬ “_clang-tidy”) ត្រូវបានកំណត់នៅក្នុង root គម្រោង។
- បានបន្ថែមភាពអាស្រ័យ ('ប្លុក') សម្រាប់ប្រើនៅក្នុងផ្នែកបន្ថែម Clang
ប្លុក ; - ទិដ្ឋភាព linker និង compiler ត្រូវបានបំបែកដោយអនុញ្ញាតឱ្យបន្សំផ្សេងគ្នានៃ compilers និង linkers ត្រូវបានប្រើ។
- បានបន្ថែមវិធីសាស្រ្ត all_dependencies() ទៅ SourceSet objects បន្ថែមលើ all_sources() method;
- នៅក្នុង run_project_tests.py ជម្រើស “--only” ត្រូវបានបន្ថែមទៅការធ្វើតេស្តជ្រើសរើសដោយជ្រើសរើស (ឧទាហរណ៍ “python run_project_tests.py —only fortran python3”);
- ឥឡូវនេះមុខងារ find_program() មានលទ្ធភាពស្វែងរកតែកំណែដែលត្រូវការនៃកម្មវិធី (កំណែត្រូវបានកំណត់ដោយដំណើរការកម្មវិធីជាមួយនឹងជម្រើស "-version");
- ដើម្បីគ្រប់គ្រងការនាំចេញនិមិត្តសញ្ញា ជម្រើស vs_module_defs ត្រូវបានបន្ថែមទៅមុខងារ shared_module() ស្រដៀងទៅនឹង shared_library();
- ម៉ូឌុល kconfig ត្រូវបានពង្រីកដើម្បីគាំទ្រ configure_file() សម្រាប់បញ្ជាក់ឯកសារបញ្ចូល។
- បានបន្ថែមសមត្ថភាពក្នុងការបញ្ជាក់ឯកសារបញ្ចូលច្រើនសម្រាប់ “command:” handlers ដើម្បី configure_file();
- ពាក្យបញ្ជា "dist" សម្រាប់ការបង្កើតប័ណ្ណសារត្រូវបានផ្លាស់ទីទៅប្រភេទនៃពាក្យបញ្ជាកម្រិតទីមួយ (ពីមុនពាក្យបញ្ជាត្រូវបានចងភ្ជាប់ទៅនឹង Ninja) ។ បានបន្ថែមជម្រើស "--formats" ដើម្បីកំណត់ប្រភេទបណ្ណសារដែលត្រូវបង្កើត (ឧទាហរណ៍
"meson dist -formats=xztar,zip") ។
ប្រភព: opennet.ru