project
Установите имя проекта.
Описание
project(<PROJECT-NAME> [<language-name>...])
project(<PROJECT-NAME>
[VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
[DESCRIPTION <project-description-string>]
[HOMEPAGE_URL <url-string>]
[LANGUAGES <language-name>...])
Устанавливает имя проекта и сохраняет его в переменной PROJECT_NAME. При вызове из верхнего уровня CMakeLists.txt также сохраняет имя проекта в переменной CMAKE_PROJECT_NAME.
Также устанавливает переменные
Дополнительные переменные устанавливаются с помощью необязательных аргументов, описанных ниже. Если какой-либо из этих аргументов не используется, соответствующие переменные устанавливаются в пустую строку.
Если переменная CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE существует, файл, на который указывает эта переменная, будет включён в последнюю очередь при выполнении команды проекта.
Параметры
Параметры:
-
VERSION <version> -
Необязательный параметр; его можно использовать только если политика
CMP0048установлена вNEW.Принимает аргумент
<version>, состоящий из неотрицательных целочисленных компонентов, т.е.<major>[.<minor>[.<patch>[.<tweak>]]], и устанавливает переменные-
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.
Когда команда
project()вызывается из верхнего уровняCMakeLists.txt, версия также сохраняется в переменнойCMAKE_PROJECT_VERSION. -
-
DESCRIPTION <project-description-string> -
Необязательно. Устанавливает переменные
в значение
<project-description-string>. Рекомендуется, чтобы это описание было относительно коротким строковым значением, обычно не более нескольких слов.Когда команда
project()вызывается из верхнего уровняCMakeLists.txt, описание также сохраняется в переменнойCMAKE_PROJECT_DESCRIPTION. -
HOMEPAGE_URL <url-string> -
Необязательно. Можно также указать без ключевого слова
LANGUAGESпо первому, короткому определению.Выбирает необходимые языки программирования для сборки проекта. Поддерживаемые языки включают
C,CXX(т.е. C++),CUDA,Fortran, иASM. По умолчаниюCиCXXвключены, если не указаны никакие языковые опции. Укажите языкNONE, или используйте ключевое словоLANGUAGESи не указывайте языки, чтобы отключить включение любых языков.Если нужно включить
ASM, укажите его последним, чтобы CMake мог проверить, работают ли компиляторы для других языков, таких какC, для ассемблера тоже.
Переменные, заданные через опции VERSION, DESCRIPTION и HOMEPAGE_URL, предназначены для использования в качестве значений по умолчанию в метаданных и документации пакета.
Использование
Файл верхнего уровня CMakeLists.txt проекта должен содержать буквальное, прямое обращение к команде project(); загрузка через команду include() недостаточно. Если такого вызова нет, CMake неявно добавит его вверху, что активирует языки по умолчанию (C и CXX).
Примечание
Вызовите команду cmake_minimum_required() в начале файла верхнего уровня CMakeLists.txt даже перед вызовом команды project(). Важно установить настройки версии и политики перед вызовом других команд, поведение которых они могут повлиять. См. также политику CMP0000.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.14/command/project.html