project¶

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.