Qëllimi kryesor i zhvillimit të Meson është të sigurojë shpejtësi të lartë të procesit të montimit të kombinuar me komoditetin dhe lehtësinë e përdorimit. Në vend të mjetit make, ndërtimi i paracaktuar përdor paketën e veglave
Mbështetet ndërthurja dhe ndërtimi në Linux, macOS dhe Windows duke përdorur GCC, Clang, Visual Studio dhe përpilues të tjerë. Është e mundur të ndërtohen projekte në gjuhë të ndryshme programimi, duke përfshirë C, C++, Fortran, Java dhe Rust. Mbështetet modaliteti i ndërtimit në rritje, në të cilin rindërtohen vetëm komponentët që lidhen drejtpërdrejt me ndryshimet e bëra që nga ndërtimi i fundit. Meson mund të përdoret për të gjeneruar ndërtime të përsëritshme, në të cilat ekzekutimi i ndërtimit në mjedise të ndryshme rezulton në gjenerimin e skedarëve të ekzekutueshëm plotësisht identikë.
Kryesore
- Mbështetje e shtuar për ndërtimin transparent të projekteve ekzistuese që përdorin skriptet e ndërtimit CMake. Meson tani mund të ndërtojë drejtpërdrejt nënprojekte të thjeshta (si bibliotekat e vetme) duke përdorur modulin CMake, të ngjashëm me nënprojektet standarde (duke përfshirë nënprojektet CMake mund të vendosen në direktorinë e nënprojekteve);
- Për të gjithë përpiluesit e përdorur, testimi paraprak përfshihet përmes montimit dhe ekzekutimit të skedarëve të thjeshtë të provës (kontrolli i shëndetit), duke mos u kufizuar në testimin e flamujve të specifikuar nga përdoruesi për ndër-përpiluesit (tani e tutje, përpiluesit vendas në platformën aktuale kontrollohen gjithashtu) .
- U shtua aftësia për të përcaktuar opsionet e linjës së komandës të përdorura gjatë përpilimit të kryqëzuar, me lidhje duke specifikuar një prefiks platforme përpara opsionit. Më parë, opsionet e linjës së komandës mbulonin vetëm ndërtimet e platformës vendase dhe nuk mund të specifikoheshin për përpilim të kryqëzuar. Opsionet e linjës së komandës tani zbatohen pavarësisht nëse po ndërtoni në mënyrë origjinale ose të ndërthurur, duke siguruar që ndërtimet vendase dhe ndër-ndërtuese të prodhojnë rezultate identike;
- U shtua aftësia për të specifikuar flamurin "--cross-file" më shumë se një herë në vijën e komandës për të renditur skedarë të shumtë të kryqëzuar;
- Mbështetje e shtuar për përpiluesin ICL (Intel C/C++ Compiler) për platformën Windows (ICL.EXE dhe ifort);
- U shtua mbështetje fillestare e paketës së veglave për CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
- Metoda "get_variable" është shtuar në objektin "varësi", e cila ju lejon të merrni vlerën e një ndryshore pa marrë parasysh llojin e varësisë aktuale (për shembull, dep.get_variable(pkg-config: 'var- emri', cmake : 'COP_VAR_NAME));
- U shtua një argument i ri i opsioneve të asamblesë së synuar, "link_language", për të specifikuar në mënyrë eksplicite gjuhën e përdorur kur thirret lidhësi. Për shembull, një program kryesor Fortran mund të thërrasë kodin C/C++, i cili automatikisht do të zgjidhte C/C++ kur duhet të përdoret lidhësi Fortran;
- Trajtimi i flamujve të paraprocesorit CPPFLAGS është ndryshuar. Ndërsa Meson ruante më parë CPPFLAGS dhe flamuj përpilimi specifik për gjuhën (CFLAGS, CXXFLAGS) veçmas, ato tani përpunohen në mënyrë të pandashme dhe flamujt e listuar në CPPFLAGS përdoren si një burim tjetër i flamujve të përpilimit për gjuhët që i mbështesin;
- Prodhimi i custom_target dhe custom_target[i] tani mund të përdoret si argumente në operacionet link_with dhe link_whole;
- Gjeneratorët tani kanë mundësinë të specifikojnë varësi shtesë duke përdorur opsionin "varet" (për shembull, gjenerator (program_runner, output: [‘@[email mbrojtur]'], varet: exe));
- U shtua një opsion statik te find_library për të lejuar kërkimin të përfshijë vetëm biblioteka të lidhura statikisht;
- Për python.find_installation, është shtuar aftësia për të përcaktuar praninë e një moduli të dhënë Python për një version specifik të Python;
- U shtua moduli i ri unstable-kconfig për analizimin e skedarëve kconfig;
- U shtua një komandë e re “nënprojektet foreach”, e cila merr një komandë me argumente dhe e ekzekuton atë në të gjitha drejtoritë e nënprojekteve;
Burimi: opennet.ru