project¶

Määrittää koko projektin nimen, version ja kielten käyttöönoton.

project(<PROJECT-NAME> )project(<PROJECT-NAME> ]]] )

Määrittää projektin nimen ja tallentaa nimen muuttujaanPROJECT_NAME. Lisäksi tämä asettaa muuttujat

  • PROJECT_SOURCE_DIR,<PROJECT-NAME>_SOURCE_DIR

  • PROJECT_BINARY_DIR,<PROJECT-NAME>_BINARY_DIR

Jos VERSION on määritetty VERSION, annettujen komponenttien on oltava ei-negatiivisia kokonaislukuja.Jos VERSION ei ole määritetty, oletusversio on tyhjä merkkijono.VERSION-vaihtoehtoa ei saa käyttää, ellei käytäntö CMP0048 ole NEW.

Komento project() tallentaa versionumeron ja sen osat muuttujiin

  • PROJECT_VERSION,<PROJECT-NAME>_VERSION

  • PROJECT_VERSION_MAJOR,<PROJECT-NAME>_VERSION_MAJOR

  • PROJECT_VERSION_MINOR,<PROJECT-NAME>_VERSION_MINOR

  • PROJECT_VERSION_PATCH,<PROJECT-NAME>_VERSION_PATCH

  • PROJECT_VERSION_TWEAK,<PROJECT-NAME>_VERSION_TWEAK

Muuttujat, jotka vastaavat määrittelemättömiä versioita, asetetaan tyhjään merkkijonoon (jos käytäntö CMP0048 on asetettu NEW).

Vaihtoehtoisesti voit määrittää, mitä kieliä projektisi tukee.Esimerkkikieliä ovat C, CXX (eli C++), Fortran jne.Oletusarvoisesti C ja CXX ovat käytössä, jos kieliasetuksia ei ole annettu. Määritä kieli NONE tai käytä avainsanaa LANGUAGESja listaa ei kieliä, jos haluat ohittaa minkään kielen ottamisen käyttöön.

Jos on olemassa muuttuja nimeltä CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE,muuttujan osoittama tiedosto sisällytetään projektikomennon viimeisenä vaiheena.

Projektin ylimmän tason CMakeLists.txt-tiedoston on sisällettävä kirjaimellinen suora suorakutsu komennolle project(); komennon lataaminen komennon include() kautta ei riitä. Jos tällaista kutsua ei ole, CMake lisää implisiittisesti ylätasolle kutsun, joka ottaa käyttöön oletuskielet (C ja CXX).

Huomautus

Kutsu cmake_minimum_required()-komento ylätason CMakeLists.txt-tiedoston alussa jo ennen kuin kutsut project()-komentoa. On tärkeää määrittää versio- ja politiikka-asetukset ennen muiden komentojen kutsumista, joiden käyttäytymiseen ne voivat vaikuttaa. Katso myös policy CMP0000.

.