Spec-Zone.ru › CMake 3.5

project

Установите имя, версию и включите языки для всего проекта.

project(<PROJECT-NAME> [LANGUAGES] [<language-name>...])
project(<PROJECT-NAME>
        [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]
        [LANGUAGES <language-name>...])

Устанавливает имя проекта и сохраняет имя в переменной PROJECT_NAME. Кроме того, это устанавливает переменные

  • PROJECT_SOURCE_DIR, <PROJECT-NAME>_SOURCE_DIR
  • PROJECT_BINARY_DIR, <PROJECT-NAME>_BINARY_DIR

Если 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).

Необязательно указать, какие языки поддерживает ваш проект. Примерами языков являются 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.5/command/project.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API