Ero sivun ”CMake syvemmin” versioiden välillä

Siirry navigaatioon Siirry hakuun
95 merkkiä lisätty ,  10. joulukuuta 2024
ei muokkausyhteenvetoa
Ei muokkausyhteenvetoa
Ei muokkausyhteenvetoa
Rivi 21: Rivi 21:
  touch CMakeLists.txt
  touch CMakeLists.txt
Kirjoita tiedostoon seuraavat rivit:
Kirjoita tiedostoon seuraavat rivit:
cmake_minimum_required(VERSION 3.21)
 
<syntaxhighlight lang="cmake" line>
cmake_minimum_required(VERSION 3.21)
   
   
project(
project(
     "eka-projekti"
     "eka-projekti"
     VERSION 0.1.0.2
     VERSION 0.1.0.2
Rivi 29: Rivi 31:
     HOMEPAGE_URL "https://linux.fi"
     HOMEPAGE_URL "https://linux.fi"
     LANGUAGES "C" "CXX"
     LANGUAGES "C" "CXX"
)
)
   
   
message("${PROJECT_NAME} on ensimmäinen projektimme, ja tässä on sen tiedot:")
message("${PROJECT_NAME} on ensimmäinen projektimme, ja tässä on sen tiedot:")
message("Projektin versio on ${PROJECT_VERSION}")
message("Projektin versio on ${PROJECT_VERSION}")
message("Se koostuu neljästä osasta:")
message("Se koostuu neljästä osasta:")
message(${PROJECT_VERSION_MAJOR})
message(${PROJECT_VERSION_MAJOR})
message(${PROJECT_VERSION_MINOR})
message(${PROJECT_VERSION_MINOR})
message(${PROJECT_VERSION_PATCH})
message(${PROJECT_VERSION_PATCH})
message(${PROJECT_VERSION_TWEAK})
message(${PROJECT_VERSION_TWEAK})
message("Projektimme kuvaus on:${PROJECT_DESCRIPTION}")
message("Projektimme kuvaus on:${PROJECT_DESCRIPTION}")
message("Kotisivuksi olemme määritelleet tutun ${PROJECT_HOMEPAGE_URL}.")
message("Kotisivuksi olemme määritelleet tutun ${PROJECT_HOMEPAGE_URL}.")
</syntaxhighlight>


Ensimmäinen rivi määrittelee, mikä cmake:n versio vähintään vaaditaan CMakeLists.txt:n suoritukseen. Project-käskyllä määritellään projektin nimi, versio, kuvaus,kotisivu ja ohjelmointikielet. Message-käskyllä tulostetaan käännösjonoon tekstiä. Tämän avulla voimme siis tulostaa projektimme tiedot. Rivillä 11 tulostamme käännösjonoon projektimme nimen, joka on nimeltään ”eka-projekti”. Projektin nimessä tulee olla vähintään yksi miinus (’-’)merkki. Seuraavasssa rivissä tulostamme projektin täyden version, joka siis on 0.1.0.2, kuten olimme project-käskyssä sen määritelleet. Seuraavat kolme message-käskyä kirjoittaa parsitun (järjestyksessä: MAJOR.MINOR.PATCH.TWEAK)versionumeron. Niiden jälkeen kirjoitetaan projektin kuvaus (PROJECT_DESCRIPTION). Viimeisessä message-rivissä tulostuu projektin kotisivu (PROJECT_HOMEPAGE_URL).
Ensimmäinen rivi määrittelee, mikä cmake:n versio vähintään vaaditaan CMakeLists.txt:n suoritukseen. Project-käskyllä määritellään projektin nimi, versio, kuvaus,kotisivu ja ohjelmointikielet. Message-käskyllä tulostetaan käännösjonoon tekstiä. Tämän avulla voimme siis tulostaa projektimme tiedot. Rivillä 11 tulostamme käännösjonoon projektimme nimen, joka on nimeltään ”eka-projekti”. Projektin nimessä tulee olla vähintään yksi miinus (’-’)merkki. Seuraavasssa rivissä tulostamme projektin täyden version, joka siis on 0.1.0.2, kuten olimme project-käskyssä sen määritelleet. Seuraavat kolme message-käskyä kirjoittaa parsitun (järjestyksessä: MAJOR.MINOR.PATCH.TWEAK)versionumeron. Niiden jälkeen kirjoitetaan projektin kuvaus (PROJECT_DESCRIPTION). Viimeisessä message-rivissä tulostuu projektin kotisivu (PROJECT_HOMEPAGE_URL).
Rivi 45: Rivi 48:
Nyt voimme ”kääntää” projektimme, joten luomme projektin juureen kansion build, ja ajamme cmake-ohjelman sieltä osoitettuna alempaan kansioon. (HUOM: ainakin cmake-paketti pitää olla asennettuna ennen ohjelman onnistunutta ajoa.)
Nyt voimme ”kääntää” projektimme, joten luomme projektin juureen kansion build, ja ajamme cmake-ohjelman sieltä osoitettuna alempaan kansioon. (HUOM: ainakin cmake-paketti pitää olla asennettuna ennen ohjelman onnistunutta ajoa.)


mkdir build
<syntaxhighlight lang="bash" line>
cd build
mkdir build
cmake ..
cd build
make all
cmake ..
make all
</syntaxhighlight>
 
Ohjelman pitäisi tulostaa seuraavaa…
Ohjelman pitäisi tulostaa seuraavaa…
  eka-projekti on ensimmäinen projektimme, ja tässä on sen tiedot:
  eka-projekti on ensimmäinen projektimme, ja tässä on sen tiedot:
54

muokkausta

Navigointivalikko