Sepheo sa bohlokoa sa nts'etsopele ea Meson ke ho fana ka lebelo le phahameng la ts'ebetso ea kopano e kopantsoeng le boiketlo le boiketlo ba tšebeliso. Sebakeng sa ho etsa utility, moaho oa kamehla o sebelisa sesebelisoa sa lisebelisoa
Ho kopanya le ho aha ho Linux, macOS le Windows ho sebelisa GCC, Clang, Visual Studio le li-compilers tse ling lia tšehetsoa. Hoa khoneha ho aha merero ka lipuo tse fapaneng tsa lenaneo, ho kenyelletsa C, C ++, Fortran, Java le Rust. Mokhoa oa ho haha oa ho eketsa o tšehetsoa, oo ho oona feela likarolo tse amanang ka ho toba le liphetoho tse entsoeng ho tloha ha mohaho oa ho qetela o hahuoa bocha. Meson e ka sebelisoa ho hlahisa meaho e ka phetoang, eo ho eona ho tsamaisa moaho libakeng tse fapaneng ho fellang ka tlhahiso ea lifaele tse ts'oanang ka botlalo.
ka sehloohong
- Ts'ehetso e ekelitsoeng bakeng sa moaho o pepeneneng oa merero e teng e sebelisang mongolo oa CMake build. Hona joale Meson a ka haha li-subprojects tse bonolo (tse kang lilaebrari tse le 'ngoe) a sebelisa mojule oa CMake, o tšoanang le li-subprojects tse tloaelehileng (ho kenyeletsoa le li-subprojects tsa CMake li ka behoa bukeng ea li-subprojects);
- Bakeng sa li-compilers tsohle tse sebelisitsoeng, tlhahlobo ea pele e kenyelelitsoe ka kopano le ts'ebetsong ea lifaele tse bonolo tsa teko (ho hlahloba bohloeki), e sa felle feela ho hlahloba lifolakha tse boletsoeng ke basebelisi bakeng sa ba kopanyang lifapano (ho tloha joale ho ea pele, bahlophisi ba hlahang sethaleng sa hona joale le bona baa hlahlojoa) .
- E kentse bokhoni ba ho hlalosa likhetho tsa mela ea litaelo tse sebelisoang nakong ea ho kopanya, ka ho tlama ka ho hlakisa sehlomathiso sa sethala pele ho khetho. Pejana, likhetho tsa mela ea litaelo li ne li koahela meaho ea tlhaho feela 'me li ne li sa khone ho hlalosoa bakeng sa ho kopanya. Likhetho tsa mela ea taelo li se li sebetsa ho sa tsotelehe hore na o aha ka tlhaho kapa o a kopanya, o netefatsa hore meaho ea matsoalloa le e fapaneng e hlahisa litholoana tse ts'oanang;
- E kentse bokhoni ba ho hlakisa folakha ea "--cross-file" ho feta hanngoe moleng oa taelo ho thathamisa lifaele tse ngata tse fapaneng;
- Tšehetso e ekelitsoeng bakeng sa moqapi oa ICL (Intel C / C ++ Compiler) bakeng sa sethala sa Windows (ICL.EXE le ifort);
- E kenyellelitse ts'ehetso ea lisebelisoa tsa pele bakeng sa CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
- Mokhoa oa “get_variable” o kentsoe nthong ea “dependency”, e u lumellang hore u fumane boleng ba ntho e feto-fetohang ntle le ho ela hloko mofuta oa botšepehi ba hajoale (mohlala, dep.get_variable(pkg-config : 'var- lebitso', cmake : 'COP_VAR_NAME));
- E kentse khang e ncha ea likhetho tsa kopano, "link_language", ho hlakisa puo e sebelisoang ha ho letsoa sehokelo. Ka mohlala, lenaneo le ka sehloohong la Fortran le ka bitsa khoutu ea C / C ++, e neng e tla ikhethela C / C ++ ha sehokelo sa Fortran se lokela ho sebelisoa;
- Ts'ebetso ea lifolakha tsa preprocessor tsa CPFLAGS e fetotsoe. Le hoja Meson e kile ea boloka CPFLAGS le lifolakha tse entsoeng ka puo e itseng (CFLAGS, CXXFLAGS) ka ho arohana, joale li sebetsoa ka mokhoa o ke keng oa aroloa 'me lifolakha tse thathamisitsoeng ho CPFLAGS li sebelisoa e le mohloli o mong oa lifolakha tsa ho bokella lipuo tse li tšehetsang;
- Sephetho sa custom_target le custom_target[i] joale se ka sebelisoa e le likhang ho link_with and link_whole operations;
- Hona joale lijenereithara li na le bokhoni ba ho hlakisa litšepe tse ling li sebelisa khetho ea "ho itšetleha" (mohlala, jenereithara(program_runner, output: ['@[imeile e sirelelitsoe]'], ho itšetlehile ka: exe));
- E kentse khetho e tsitsitseng ho find_library ho lumella patlo ho kenyelletsa lilaeborari tse hokahaneng feela;
- Bakeng sa python.find_installation, bokhoni ba ho tseba boteng ba module ea Python e fanoeng bakeng sa phetolelo e itseng ea Python e kentsoe;
- E kentse module e ncha e sa tsitsang-kconfig bakeng sa ho arola lifaele tsa kconfig;
- E kentse taelo e ncha "subprojects foreach", e nkang taelo e nang le likhang le ho e tsamaisa libukeng tsohle tsa subproject;
Source: opennet.ru