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