Meson ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á á¡ááááááºážááá¯ááºááŸá¬ á¡áááºááŒá±ááœááºáá°ááŸá¯ááŸáá·áº á¡áá¯á¶ážááŒá¯áááœááºáá°ááŸá¯ááá¯á·áá±á«ááºážá
ááºáá¬ážáá±á¬ áááºáááºááŸá¯áá¯ááºáááºážá
ááºá á¡ááŸáááºá¡áá¯ááºááŒáá·áºáá¬ážá
á±áááºááŒá
áºáááºá make utility á¡á
á¬ážá default build ááẠtoolkit ááá¯á¡áá¯á¶ážááŒá¯áááºá
GCCá Clangá Visual Studio ááŸáá·áº á¡ááŒá¬ážáá±á¬ compilers áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á Linuxá macOS ááŸáá·áº Windows ááœáẠá¡ááŒááºá¡ááŸááºá á¯á ááºážááŒááºážááŸáá·áº áááºáá±á¬ááºááŒááºážááᯠáá¶á·ááá¯ážáá¬ážáááºá Cá C++á Fortraná Java ááŸáá·áº Rust á¡áá«á¡ááẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá»á¬ážááŒáá·áº ááá±á¬áá»ááºáá»á¬ážááᯠáááºáá±á¬ááºááá¯ááºáááºá áá±á¬ááºáá¯á¶ážáááºáá±á¬ááºááŸá¯ááᯠááŒááºáááºáááºáá±á¬ááºááŒá®ážááááºážá ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááŸáá·áº ááá¯ááºááá¯ááºáááºááá¯ááºááá·áº á¡á áááºá¡ááá¯ááºážáá»á¬ážááá¯áᬠááá¯ážááŒáŸáá·áºáááºáá±á¬ááºáá¯ááºááᯠáá¶á·ááá¯ážáá¬ážáááºá Meson ááẠááá°áá®áá±á¬áááºáááºážáá»ááºáá»á¬ážááœáẠáááºáá±á¬ááºááŸá¯ááᯠáá¯ááºáá±á¬ááºááŒááºážááŒáá·áº áááºáá°áááºáá»áŸáá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºáá®ážáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®áž áá¯á¶ážááá°áá®áá±á¬ executable ááá¯ááºáá»á¬ážááᯠáá»áá¯ážáááºáá¯ááºáá±ážáá«áááºá
á¡ááá
- CMake build scripts ááá¯áá¯á¶ážááá·áº áááºááŸáááá±á¬áá»ááºáá»á¬ážá ááœáá·áºáááºážááŒááºáá¬ááŸá¯áááºáá±á¬ááºááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºáá±á¬ááºážááá·áºáá¬ážáááºá Meson ááẠá á¶ááá±á¬áá»ááºááœá²áá»á¬ážááŸáá·áºáááºáá°áá±á¬ CMake module ááá¯á¡áá¯á¶ážááŒá¯á ááá¯ážááŸááºážáá±á¬ááá±á¬áá»ááºááœá²áá»á¬áž (á á¬ááŒáá·áºááá¯ááºáá áºáá¯áááºážáá²á·ááá¯á·) ááá¯ááºááá¯ááºáááºáá±á¬ááºááá¯ááºááẠ(CMake á á®áá¶ááááºážááœá²áá»á¬ážá¡áá«á¡ááẠááá±á¬áá»ááºááœá²áá»á¬ážáááºážááœáŸááºááœáẠááá·áºáá¬ážááá¯ááºáááº)á
- á¡áá¯á¶ážááŒá¯áá¬ážáá±á¬ compilers áá»á¬ážá¡á¬ážáá¯á¶ážá¡ááœááºá ááá¯ážááŸááºážáá±á¬á ááºážáááºááá¯ááºáá»á¬ážááᯠá á¯á ááºážááŒááºážááŸáá·áº áá¯ááºáá±á¬ááºááŒááºážááŸáááá·áº ááá¬áá ááºážáááºááŒááºážááᯠááá·áºááœááºážáá¬ážááŒá®áž cross-compilers á¡ááœáẠá¡áá¯á¶ážááŒá¯áá°áááºááŸááºáá¬ážáá±á¬á¡áá¶áá»á¬ážááᯠá ááºážáááºááŒááºážá¡ááœáẠá¡ááá·áºá¡áááºáááŸá (ááá¯ááŸá á áááºááŸáááááºáá±á¬ááºážáá±á«áºááŸá ááœááºáááááºáá»á¬ážááá¯áááºáž á á áºáá±ážáá¬ážáááº) .
- ááœá±ážáá»ááºááŸá¯áááá¯ááºáá® ááááºáá±á¬ááºážááŸá±á·áááºáá áºáá¯ááᯠáááºááŸááºááŒááºážááŒáá·áº áá±á«ááºážá ááºááá·áºááœááºážááŒááºážááŒáá·áº á¡ááŒááºá¡ááŸááºá á¯á ááºážááŸá¯á¡ááœááºáž á¡áá¯á¶ážááŒá¯ááá·áº command line ááœá±ážáá»ááºááŸá¯áá»á¬ážááᯠáááºááŸááºááẠá áœááºážáááºááᯠááá·áºááœááºážáá¬ážáááºá ááááºáá command line ááœá±ážáá»ááºááŸá¯áá»á¬ážááẠáá°áááºážáááºáá±á¬ááºááŸá¯áá»á¬ážááá¯áᬠá¡áá»á¯á¶ážáááºááŒá®áž cross-compilation á¡ááœáẠáááºááŸááºááááá«á áá¬ááááŸáá·áº áá±á«ááºážá ááºáááºáá±á¬ááºááŸá¯áá»á¬ážááẠáá°áá®áá±á¬ááááºáá»á¬ážááœááºáá±á«áºá á±ááŒá±á¬ááºáž áá±áá»á¬á á±ááá·áº áá°áááºážá¡ááá¯ááºážáááºáá±á¬ááºáá±áááºááŒá áºá á± ááá¯á·ááá¯áẠáá±á«ááºážá ááºááœá²á·á ááºážáááºááŒá áºá á± ááœááºáááºážááá¯ááºážááœá±ážáá»ááºá áá¬áá»á¬ážááᯠááá¯á¡áá¯á¶ážááŒá¯áá¬ážáááºá
- ááá¯ááºá¡áá»á¬ážá¡ááŒá¬ážááá¯á á¬áááºážááŒá¯á á¯ááẠcommand line ááœáẠâ--cross-fileâ á¡áá¶ááᯠáá áºááŒáááºáááºááá¯á áááºááŸááºááá¯ááºááŸá¯ááᯠááá·áºááœááºážáá¬ážáááºá
- Windows ááááºáá±á¬ááºáž (ICL.EXE ááŸáá·áº ifort) á¡ááœáẠICL compiler (Intel C/C++ Compiler) á¡ááœáẠáá¶á·ááá¯ážááŸá¯ áá±á«ááºážááá·áºáá¬ážáááºá
- Xtensa CPUs (xt-xcc, xt-xc++, xt-nm);
- âget_variableâ áááºážáááºážááᯠâááŸá®ááá¯ááŸá¯â á¡áá¬ááá¹áá¯ááœáẠááá·áºááœááºážáá¬ážááŒá®ážá áááºážááẠáááºááŸáááŸá®ááá¯ááŸá¯á¡áá»áá¯ážá¡á á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážááŒááºážáááŸááá² ááááºážááŸááºááááºááá¯ážááᯠáááá¯ááºá á±ááẠ(á¥ááá¬á dep.get_variable(pkg-config : 'var- á¡áááº'á cmake : 'COP_VAR_NAME));
- ááá·áºááºááá¯áá±á«áºáá±á¬á¡áá«á¡áá¯á¶ážááŒá¯ááá·áºáá¬áá¬á áá¬ážááᯠááŒááºáá¬ážá áœá¬áááºááŸááºááẠáá áºááŸááºá á¯áá±ážááŸá¯ááœá±ážáá»ááºá áá¬áá»á¬áž á¡ááŒá±á¬ááºážááŒáá»ááºá¡áá áºáá áºáá¯áááºááá·áºáá¬ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºá Fortran áááá¯ááááºáá áºáá¯ááẠC/C++ áá¯ááºááá¯áá±á«áºááá¯ááá¯ááºááŒá®áž Fortran linker ááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá«ááœáẠC/C++ ááᯠá¡ááá¯á¡áá»á±á¬ááºááœá±ážáá»ááºáá±ážáááºááŒá áºáááºá
- CPPFLAGS á ááŸá±á·áááá¯áááºáá¬á¡áá¶áá»á¬ážááᯠááŒá±á¬ááºážáá²áá¬ážáááºá Meson ááẠááááºá CPPFLAGS ááŸáá·áº áá¬áá¬á áá¬ážá¡ááá¯ááºá á¯á ááºážááŸá¯á¡áá¶áá»á¬áž (CFLAGSá CXXFLAGS) áá®ážááŒá¬ážá á®ááááºážáááºážáá¬ážáá±á¬áºáááºáž ááá¯á¡áá« áááºážááá¯á·ááᯠááœá²ááŒá¬ážááááá² CPPFLAGS ááœááºáá±á¬áºááŒáá¬ážáá±á¬ á¡áá¶áá»á¬ážááᯠáááºážááá¯á·ááᯠáá¶á·ááá¯ážáá±ážááá·áº áá¬áá¬á áá¬ážáá»á¬ážá¡ááœáẠá á¯á ááºážááŸá¯á¡áá¶áá»á¬ážá á¡ááŒá¬ážá¡áááºážá¡ááŒá áºá¡ááŒá Ạá¡áá¯á¶ážááŒá¯áá¬ážáááºá
- custom_target ááŸáá·áº custom_target[i] á output ááᯠlink_with ááŸáá·áº link_whole operations áá»á¬ážááœáẠá¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážá¡ááŒá Ạááá¯á¡áá¯á¶ážááŒá¯ááá¯ááºáá«ááŒá®á
- ááᯠGenerator áá»á¬ážááẠ"depends" option ááᯠá¡áá¯á¶ážááŒá¯á áá±á¬ááºáááºááŸá®ááá¯ááŸá¯á¡á¬áž áááºááŸááºááá¯ááºá áœááºážááŸáááẠ(á¥ááá¬á generator(program_runnerá output- ['@)[á¡á®ážáá±ážááºááá¯áá¬ááœááºáá¬ážáááº]'], ááŸá®ááá¯: exe));
- ááŸá¬ááœá±ááŸá¯ááœáẠáááºááŒáááºá áœá¬ áá»áááºáááºáá¬ážáá±á¬ á á¬ááŒáá·áºááá¯ááºáá»á¬ážáᬠáá«áááºááœáá·áºááŒá¯ááẠfind_library ááœáẠstatic option áá áºáᯠáááºááá·áºáá¬ážáááºá
- python.find_installation á¡ááœááºá Python á áá®ážááŒá¬ážáá¬ážááŸááºážáá áºáá¯á¡ááœáẠáá±ážáá¬ážáá±á¬ Python module áá áºáá¯á áá«áááºááŸá¯ááᯠáá¯á¶ážááŒááºááá¯ááºá áœááºážááᯠááá·áºááœááºážáá¬ážáá«áááºá
- kconfig ááá¯ááºáá»á¬ážááá¯ááœá²ááŒááºážá áááºááŒá¬áááºá¡ááœáẠááááºááŒáááºáá±á¬-kconfig áá±á¬áºáá»á°ážá¡áá áºááᯠáá±á«ááºážááá·áºáá¬ážáááºá
- á¡ááŒááºážá¡áá¯á¶áá»á¬ážáá«áá±á¬ ááœááºáááºážáá áºáá¯ááᯠáá°áᬠááá±á¬áá»ááºááœá²áááºážááœáŸááºáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠáá¯ááºáá±á¬ááºááá·áº á¡áááá·áºá¡áá áºáá áºáá¯ááŒá áºááá·áº "ááá±á¬áá»ááºááœá²áá»á¬áž áá±á¬áºáá±áž"á
source: opennet.ru