Ero sivun ”Meson” versioiden välillä

Siirry navigaatioon Siirry hakuun
päivitys
Rivi 1: Rivi 1:
{{ Ohjelma  
{{Ohjelma
| nimi=Meson
| nimi           = Meson
| kuva=  
| logo          =
| kuvateksti=  
| kuva           =  
| lisenssi=[[Apache-lisenssi]] 2.0
| kuvateksti     =
| käyttöliittymä=Komentorivi
| tekijä        =
| ohjelmoitu=[[Python]]
| kehittäjä      = Jussi Pakkanen (perustaja), Meson-yhteisö
| kotisivu=[[https://mesonbuild.com/ mesonbuild.com]]
| moottori      = [[Ninja]]
| lähdekoodi=[[https://github.com/mesonbuild/meson github.com/mesonbuild/meson]]
| 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.


=== Tyypillinen prosessi ===
'''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:


Noudettu kohteesta ”https://www.linux.fi/wiki/Meson