Meson
| Meson | |
|---|---|
| Kehittäjä(t) | Jussi Pakkanen (perustaja), Meson-yhteisö |
| Moottori | Ninja |
| Ensijulkaisu | 2012 |
| Ohjelmoitu | Python |
| Käyttöliittymä | Komentorivi (CLI) |
| Tyyppi | Rakennusjärjestelmä (Build System) |
| Lisenssi | Apache-lisenssi 2.0 |
| Kotisivu | mesonbuild.com |
| Lähdekoodi | 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.
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
Meson löytyy useimpien jakeluiden paketinhallinnasta nimellä meson. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.
Mesonin lisäksi usein tarvitaan sen taustajärjestelmä Ninja. Ninja löytyy useimpien jakeluiden paketinhallinnasta nimellä ninja-build. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.
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ö
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:
meson setup builddir
2. Kääntäminen: Käännä ohjelma Mesonin luomassa hakemistossa (-C builddir):
meson compile -C builddir
3. Asennus: Asenna ohjelma järjestelmään (vaatii pääkäyttäjän oikeudet):
sudo meson install -C builddir