Ero sivun ”Meson” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p →Asennus |
päivitys |
||
| Rivi 1: | Rivi 1: | ||
{{ Ohjelma | {{Ohjelma | ||
| nimi=Meson | | nimi = Meson | ||
| kuva= | | logo = | ||
| kuvateksti= | | kuva = | ||
| | | kuvateksti = | ||
| käyttöliittymä=Komentorivi | | tekijä = | ||
| | | kehittäjä = Jussi Pakkanen (perustaja), Meson-yhteisö | ||
| kotisivu= | | moottori = [[Ninja]] | ||
| lähdekoodi= | | ensijulkaisu = 2012 | ||
| vakaaversio = | |||
| vakaapvm = | |||
| kehitysversio = | |||
| kehityspvm = | |||
| ohjelmoitu = [[Python]] | |||
| käyttöliittymä = Komentorivi (CLI) | |||
| tyyppi = Rakennusjärjestelmä (Build System) | |||
| lisenssi = [[Apache-lisenssi]] 2.0 | |||
| kotisivu = [https://mesonbuild.com/ mesonbuild.com] | |||
| lähdekoodi = [https://github.com/mesonbuild/meson github.com/mesonbuild/meson] | |||
}} | }} | ||
'''Meson''' on moderni, nopea ja usealla alustalla toimiva käännösjärjestelmä (build system). Se on suunniteltu olemaan käyttäjäystävällinen ja toimii automaattisesti yhdessä nopean Ninja-rakennusjärjestelmän kanssa käännösprosessin suorittamiseksi. Meson on yleistynyt erityisesti vapaan lähdekoodin projekteissa ja on käytössä muun muassa [[GNOME]]-projektissa. | '''Meson''' on moderni, nopea ja usealla alustalla toimiva käännösjärjestelmä (build system). Se on suunniteltu olemaan käyttäjäystävällinen ja toimii automaattisesti yhdessä nopean [[Ninja]]-rakennusjärjestelmän kanssa käännösprosessin suorittamiseksi. Meson on yleistynyt erityisesti vapaan lähdekoodin projekteissa ja on käytössä muun muassa [[GNOME]]-projektissa. | ||
== Tavoitteet ja periaatteet == | |||
Mesonin perusfilosofiaan kuuluu kolme keskeistä periaatetta: | |||
* '''1. Nopeus:''' Meson käyttää [[Ninja]]-käännöstyökalua (Build system) taustalla, minkä ansiosta se on erittäin nopea suurtenkin projektien uudelleenkäännöksissä. | |||
* '''2. Käytettävyys:''' Rakennusmääritykset tehdään yksinkertaisella, erillisellä Meson-kielellä, joka on luettavampi ja ymmärrettävämpi kuin monien muiden järjestelmien käyttämät skriptit. | |||
* '''3. Yhteensopivuus:''' Se tukee natiivisti useita kieliä (esim. C, C++, Rust, Java) ja alustoja (Linux, macOS, Windows, jne.), helpottaen ristiinkäännöstä. | |||
== Asennus == | == Asennus == | ||
| Rivi 17: | Rivi 34: | ||
Mesonin lisäksi usein tarvitaan sen taustajärjestelmä Ninja. | Mesonin lisäksi usein tarvitaan sen taustajärjestelmä Ninja. | ||
{{Asenna|Ninja|ninja-build}} | {{Asenna|Ninja|ninja-build}} | ||
== Mesonin tiedostot == | |||
Meson-projekti määritellään kahden pääasiallisen tiedoston kautta: | |||
* '''1. meson.build:''' Pääasiallinen rakennusmääritystiedosto, joka kuvaa, mitä tiedostoja projektissa on ja miten ne käännetään. | |||
* ''' 2. meson_options.txt:''' Määrittelee projektiin liittyvät käännösvaihtoehdot, joita käyttäjä voi muuttaa. | |||
== Käyttö == | == Käyttö == | ||
Meson suosii aina ulkopuolista käännöstä (out-of-source build), mikä tarkoittaa, että käännöksessä syntyvät tiedostot (kuten objektit ja binäärit) luodaan erilliseen hakemistoon (tässä esimerkissä builddir) lähdekoodihakemiston ulkopuolelle. | Meson suosii aina ulkopuolista käännöstä (out-of-source build), mikä tarkoittaa, että käännöksessä syntyvät tiedostot (kuten objektit ja binäärit) luodaan erilliseen hakemistoon (tässä esimerkissä builddir) lähdekoodihakemiston ulkopuolelle. | ||
'''1. Konfigurointi:''' Luo käännöshakemisto (Meson hoitaa tämän itse) ja luo tarvittavat rakennustiedostot. Tämä komento ajetaan lähdekoodihakemistossa: | '''1. Konfigurointi:''' Luo käännöshakemisto (Meson hoitaa tämän itse) ja luo tarvittavat rakennustiedostot. Tämä komento ajetaan lähdekoodihakemistossa: | ||