Ero sivun ”CMake” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
Pyscowicz (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
päivitys
 
Rivi 1: Rivi 1:
{{ Ohjelma | nimi=CMake | kuva= |  kuvateksti= | lisenssi=cmake | käyttöliittymä=teksti | kotisivu=[http://cmake.org cmake.org] }}
{{Ohjelma
| nimi           = CMake
| logo          =
| kuva           =
| kuvateksti    =
| tekijä        =
| kehittäjä      = Kitware, Inc.
| moottori      = (Meta-käännösjärjestelmä)
| ensijulkaisu  = 2000
| vakaaversio    = 3.31.2
| vakaapvm      = 2024
| kehitysversio =  
| kehityspvm    =
| ohjelmoitu    = [[C++]]
| käyttöliittymä = Komentorivi (CLI) ja GUI (cmake-gui)
| tyyppi        = Meta-käännösjärjestelmä
| lisenssi      = [[BSD-3-Clause]]
| kotisivu       = [https://cmake.org cmake.org]
| lähdekoodi    =
}}


'''CMake''' on usealla alustalla toimiva käännösjärjestelmä. Se on käytössä muun muassa [[KDE|KDE-projektissa]].
'''CMake''' on usealla alustalla toimiva meta-käännösjärjestelmä (meta-build system). Sen sijaan, että CMake kääntäisi lähdekoodin suoraan, se luo valitulle alustalle ja ympäristölle sopivat natiivit rakennustiedostot (esim. [[Makefile]]t, Visual Studio -projektit tai [[Ninja]]-tiedostot). Se on käytössä muun muassa [[KDE|KDE-projektissa]].
 
CMake:n ensisijainen tavoite on helpottaa ohjelmointiprojektien siirrettävyyttä ja yhteensopivuutta eri käyttöjärjestelmien ja kehitysympäristöjen välillä.
 
== Toimintaperiaate ==
CMake-projekti määritellään ''CMakeLists.tx''t-tiedostoilla, jotka sisältävät käännöksen määrittelyn CMake-kielellä. Toisin kuin vanhemmissa järjestelmissä, kuten [[Autotools]], CMake ei luo varsinaisia käännöskomentoja, vaan se suorittaa konfiguroinnin.
 
Tyypillinen käännösprosessi koostuu kahdesta vaiheesta:
* '''1. Konfigurointi:''' CMake tarkistaa ympäristön, etsii tarvittavat kirjastot ja luo valitulle moottorille sopivat rakennustiedostot.
* '''2. Kääntäminen:''' Natiivi käännösjärjestelmä (esim. [[Make]] tai [[Ninja]]) suorittaa koodin kääntämisen käyttäen näitä generoituja tiedostoja.


==Käyttö==
==Käyttö==
Yleensä projekti käännetään ajamalla sen lähdekoodihakemistossa komento
CMake suosii vahvasti ulkopuolista käännöstä (out-of-source build), jossa käännöksessä syntyvät tiedostot sijoitetaan erilliseen hakemistoon (yleensä build).
  cmake .
 
Käännösprosessia voi ohjata määrittelemällä -D-valitsimella käännöstä ohjaavia muuttujia:  
'''Kaksivaiheinen työnkulku'''<br>
  cmake -D<muuttuja>=arvo
Yleisin tapa kääntää projekti komentoriviltä:
Esimerkiksi [[gcc|g++]]:n käännösvalitsimiin voi vaikuttaa muuttujalla <tt>CMAKE_CXX_FLAGS</tt>:
 
  cmake -DCMAKE_CXX_FLAGS="-g -O2" .
* '''1. Konfigurointi (Configure):''' Käyttäjä luo ''build''-hakemiston ja suorittaa CMake-komennon sen sisältä (viitaten lähdekoodin juureen, joka on tässä tapauksessa edellinen hakemisto: ''..'' tai ''.''):
 
mkdir build
cd build
  cmake ..
 
Tämän komennon tuloksena syntyy ''Makefile'' (tai muu valitun moottorin vaatima tiedosto) ''build''-hakemistoon. Käännösprosessia voi ohjata määrittelemällä ''-D''-valitsimella käännöstä ohjaavia muuttujia:
 
  cmake -D<muuttuja>=arvo ..
 
Esimerkiksi [[gcc|g++]]:n käännösvalitsimiin voi vaikuttaa muuttujalla ''CMAKE_CXX_FLAGS'':
 
  cmake -DCMAKE_CXX_FLAGS="-g -O2" ..
 
* '''2. Kääntäminen (Build):''' Natiivi käännösjärjestelmä suorittaa käännöksen:
 
make
# Tai jos moottoriksi on valittu Ninja:
ninja


Tämän jälkeen CMake yleensä luo [[Makefile|Makefilen]], jonka avulla ohjelma voidaan asentaa tyypillisesti komennolla
* '''3. Asennus:''' Ohjelma asennetaan tyypillisesti komennolla:
  [[make]] all install
  make install


==Katso myös==
==Katso myös==
*[[Make]]
* [[Make]]
*[[Autotools]]
* [[Autotools]]
* [[Meson]]
* [[Ninja]]


[[Luokka:Kehitystyökalut]]
[[Luokka:Kehitystyökalut]]

Nykyinen versio 15. marraskuuta 2025 kello 01.45

CMake
Kehittäjä(t) Kitware, Inc.
Moottori (Meta-käännösjärjestelmä)
Ensijulkaisu 2000
Vakaa versio 3.31.2  / 2024
Ohjelmoitu C++
Käyttöliittymä Komentorivi (CLI) ja GUI (cmake-gui)
Tyyppi Meta-käännösjärjestelmä
Lisenssi BSD-3-Clause
Kotisivu cmake.org

CMake on usealla alustalla toimiva meta-käännösjärjestelmä (meta-build system). Sen sijaan, että CMake kääntäisi lähdekoodin suoraan, se luo valitulle alustalle ja ympäristölle sopivat natiivit rakennustiedostot (esim. Makefilet, Visual Studio -projektit tai Ninja-tiedostot). Se on käytössä muun muassa KDE-projektissa.

CMake:n ensisijainen tavoite on helpottaa ohjelmointiprojektien siirrettävyyttä ja yhteensopivuutta eri käyttöjärjestelmien ja kehitysympäristöjen välillä.

Toimintaperiaate

[muokkaa]

CMake-projekti määritellään CMakeLists.txt-tiedostoilla, jotka sisältävät käännöksen määrittelyn CMake-kielellä. Toisin kuin vanhemmissa järjestelmissä, kuten Autotools, CMake ei luo varsinaisia käännöskomentoja, vaan se suorittaa konfiguroinnin.

Tyypillinen käännösprosessi koostuu kahdesta vaiheesta:

  • 1. Konfigurointi: CMake tarkistaa ympäristön, etsii tarvittavat kirjastot ja luo valitulle moottorille sopivat rakennustiedostot.
  • 2. Kääntäminen: Natiivi käännösjärjestelmä (esim. Make tai Ninja) suorittaa koodin kääntämisen käyttäen näitä generoituja tiedostoja.

Käyttö

[muokkaa]

CMake suosii vahvasti ulkopuolista käännöstä (out-of-source build), jossa käännöksessä syntyvät tiedostot sijoitetaan erilliseen hakemistoon (yleensä build).

Kaksivaiheinen työnkulku
Yleisin tapa kääntää projekti komentoriviltä:

  • 1. Konfigurointi (Configure): Käyttäjä luo build-hakemiston ja suorittaa CMake-komennon sen sisältä (viitaten lähdekoodin juureen, joka on tässä tapauksessa edellinen hakemisto: .. tai .):
mkdir build
cd build
cmake ..

Tämän komennon tuloksena syntyy Makefile (tai muu valitun moottorin vaatima tiedosto) build-hakemistoon. Käännösprosessia voi ohjata määrittelemällä -D-valitsimella käännöstä ohjaavia muuttujia:

cmake -D<muuttuja>=arvo ..

Esimerkiksi g++:n käännösvalitsimiin voi vaikuttaa muuttujalla CMAKE_CXX_FLAGS:

cmake -DCMAKE_CXX_FLAGS="-g -O2" ..
  • 2. Kääntäminen (Build): Natiivi käännösjärjestelmä suorittaa käännöksen:
make
# Tai jos moottoriksi on valittu Ninja:
ninja
  • 3. Asennus: Ohjelma asennetaan tyypillisesti komennolla:
make install

Katso myös

[muokkaa]