Sæt et navn, en version og aktiveringssprog for hele projektet.
project(<PROJECT-NAME> )project(<PROJECT-NAME> ]]] )
Sætter navnet på projektet og gemmer navnet i variablenPROJECT_NAME
. Derudover indstiller dette variabler
-
PROJECT_SOURCE_DIR
,<PROJECT-NAME>_SOURCE_DIR
-
PROJECT_BINARY_DIR
,<PROJECT-NAME>_BINARY_DIR
Hvis VERSION
er angivet, skal de givne komponenter være ikke-negative hele tal.Hvis VERSION
ikke er angivet, er standardversionen den tomme streng.Indstillingen VERSION
må ikke anvendes, medmindre politik CMP0048
er sat til NEW
.
Kommandoen project()
gemmer versionsnummeret og dets komponenteri variabler
-
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
Variabler, der svarer til uspecificerede versioner, sættes til den tomme streng(hvis politik CMP0048
er sat til NEW
).
Optionelt kan du angive, hvilke sprog dit projekt understøtter.Eksempelsprog er C
, CXX
(dvs. C++), Fortran
osv.Som standard er C
og CXX
aktiveret, hvis der ikke er angivet nogen sprogindstillinger. Angiv sprog NONE
, eller brug nøgleordet LANGUAGES
og angiv ingen sprog, for at springe over at aktivere sprog.
Hvis der findes en variabel kaldet CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
, vil filen, som denne variabel peger på, blive inkluderet som det sidste trin i kommandoenproject.
Den øverste CMakeLists.txt
-fil for et projekt skal indeholde et bogstaveligt, direkte kald til kommandoen project()
; det er ikke tilstrækkeligt at indlæse en sådan via kommandoen include()
. Hvis der ikke findes et sådant kald, vil CMake implicit tilføje et i toppen, der aktiverer standardsprogene (C
og CXX
).
Note
Kald cmake_minimum_required()
-kommandoen i begyndelsen af CMakeLists.txt
-filen på øverste niveau, selv før du kalder project()
-kommandoen. Det er vigtigt at fastlægge versions- og politikindstillinger, før du kalder andre kommandoer, hvis adfærd de kan påvirke. Se også politik CMP0000
.