Spec-Zone.ru › CMake 3.31

cmake(1)

Синопсис

Generate a Project Buildsystem
 cmake [<options>] -B <path-to-build> [-S <path-to-source>]
 cmake [<options>] <path-to-source | path-to-existing-build>

Build a Project
 cmake --build <dir> [<options>] [-- <build-tool-options>]

Install a Project
 cmake --install <dir> [<options>]

Open a Project
 cmake --open <dir>

Run a Script
 cmake [-D <var>=<value>]... -P <cmake-script-file>

Run a Command-Line Tool
 cmake -E <command> [<options>]

Run the Find-Package Tool
 cmake --find-package [<options>]

Run a Workflow Preset
 cmake --workflow <options>

View Help
 cmake --help[-<topic>]

Описание

Исполняемый файл cmake является командной строкой генератора кроссплатформенной системы сборки CMake. Вышеприведённый Синопсис перечисляет различные действия, которые может выполнить этот инструмент, как описано в разделах ниже.

Чтобы собрать проект ПО с помощью CMake, воспользуйтесь Генерацией системы сборки проекта. Дополнительно можно использовать cmake для Сборки проекта, Установки проекта или просто запуска соответствующего инструмента сборки (например, make) напрямую. cmake также может использоваться для Просмотра справки.

Другие действия предназначены для использования разработчиками программного обеспечения, которые пишут скрипты на языке CMake language для поддержки своих сборок.

Для графических пользовательских интерфейсов, которые могут быть использованы вместо cmake, см. ccmake и cmake-gui. Для интерфейсов командной строки для средств тестирования и упаковки CMake см. ctest и cpack.

Для получения дополнительной информации о CMake в целом см. см. также ссылки в конце этого руководства.

Введение в системы сборки CMake

Система сборки описывает, как собрать исполняемые файлы и библиотеки проекта из исходного кода с помощью инструмента сборки, чтобы автоматизировать этот процесс. Например, система сборки может быть Makefile для использования с командной строкой make инструментом или файлом проекта для интегрированной среды разработки (IDE). Чтобы избежать необходимости обслуживания нескольких таких систем сборки, проект может указать свою систему сборки абстрактно с помощью файлов, написанных на языке CMake language. Из этих файлов CMake генерирует предпочтительную систему сборки локально для каждого пользователя с помощью бэкенда, называемого генератором.

Для генерации системы сборки с помощью CMake необходимо выбрать следующее:

Дерево исходного кода

Верхнеуровневая директория, содержащая исходные файлы, предоставляемые проектом. Проект указывает свою систему сборки с помощью файлов, как описано в руководстве cmake-language(7), начиная с верхнего уровня файла, названного CMakeLists.txt. Эти файлы указывают целевые файлы сборки и их зависимости, как описано в руководстве cmake-buildsystem(7).

Дерево сборки

Верхнеуровневая директория, в которой будут храниться файлы системы сборки и артефакты выходных данных сборки (например, исполняемые файлы и библиотеки). CMake запишет файл CMakeCache.txt для идентификации директории как дерева сборки и хранения постоянной информации, такой как параметры конфигурации системы сборки.

Для поддержания чистого дерева исходного кода выполните сборку вне исходного дерева, используя отдельное выделенное дерево сборки. Также поддерживается сборка внутри исходного дерева, в которой дерево сборки расположено в той же директории, что и дерево исходного кода, но это не рекомендуется.

Генератор

Это выбирает тип системы сборки для генерации. Смотрите руководство cmake-generators(7) для документации всех генераторов. Запустите cmake --help, чтобы увидеть список доступных локально генераторов. Дополнительно используйте опцию -G ниже для указания генератора или просто примите значение по умолчанию, выбранное CMake для текущей платформы.

При использовании одного из генераторов инструментов сборки командной строки CMake ожидает, что среда, необходимая для компилятора, уже настроена в оболочке. При использовании одного из генераторов инструментов сборки IDE, никакая особая среда не требуется.

Генерация системы сборки проекта

Запустите CMake с одной из следующих команд, чтобы указать деревья исходного кода и сборки и сгенерировать систему сборки:

cmake [<options>] -B <path-to-build> [-S <path-to-source>]

Добавлено в версии 3.13.

Использует <path-to-build> как дерево сборки и <path-to-source> как дерево исходного кода. Указанные пути могут быть абсолютными или относительными по отношению к текущей рабочей директории. Дерево исходного кода должно содержать файл CMakeLists.txt. Дерево сборки будет создано автоматически, если оно ещё не существует. Например:

$ cmake -S src -B build
cmake [<options>] <path-to-source>

Использует текущую рабочую директорию как дерево сборки и <path-to-source> как дерево исходного кода. Указанный путь может быть абсолютным или относительным по отношению к текущей рабочей директории. Дерево исходного кода должно содержать файл CMakeLists.txt и не должно содержать файл CMakeCache.txt, так как последний идентифицирует существующее дерево сборки. Например:

$ mkdir build ; cd build
$ cmake ../src
cmake [<options>] <path-to-existing-build>

Использует <path-to-existing-build> как дерево сборки и загружает путь к дереву исходного кода из файла CMakeCache.txt, который должен был быть сгенерирован предыдущим запуском CMake. Указанный путь может быть абсолютным или относительным по отношению к текущей рабочей директории. Например:

$ cd build
$ cmake .

Во всех случаях <options> может включать ноль или более опций Опции ниже.

Указанные выше стили для указания дерева исходного кода и дерева сборки могут быть смешанными. Пути, указанные с помощью -S или -B, всегда классифицируются как деревья исходного кода или сборки соответственно. Пути, указанные обычными аргументами, классифицируются на основе их содержимого и типов путей, указанных ранее. Если указан только один тип пути, для другого используется текущая рабочая директория (cwd). Например:

Командная строка

Директория исходного кода

Директория сборки

cmake -B build

cwd

build

cmake -B build src

src

build

cmake -B build -S src

src

build

cmake src

src

cwd

cmake build (существующая)

loaded

build

cmake -S src

src

cwd

cmake -S src build

src

build

cmake -S src -B build

src

build

Изменено в версии 3.23: CMake предупреждает, когда задано несколько путей к исходному коду. Это никогда официально не документировалось и не поддерживалось, но более старые версии случайно принимали несколько путей к исходному коду и использовали последний указанный путь. Избегайте передачи нескольких аргументов с путями к исходному коду.

После генерации системы сборки можно использовать соответствующий инструмент сборки для сборки проекта. Например, после использования генератора Unix Makefiles можно запустить make напрямую:

$ make
$ make install

В качестве альтернативы, можно использовать cmake для Сборки проекта, автоматически выбрав и вызвав соответствующий инструмент сборки.

Опции

-S <path-to-source>

Путь к корневой директории проекта CMake для сборки.

-B <path-to-build>

Путь к директории, которую CMake будет использовать как корень директории сборки.

Если директория ещё не существует, CMake её создаст.

-C <initial-cache>

Загрузить предварительно скрипт для заполнения кэша.

Когда CMake впервые запускается в пустом дереве сборки, он создаёт файл CMakeCache.txt и заполняет его настраиваемыми параметрами проекта. Эта опция может быть использована для указания файла, из которого следует загрузить записи кэша перед первым проходом по файлам проекта CMake. Загруженные записи имеют приоритет над значениями по умолчанию проекта. Указанный файл должен быть скриптом CMake, содержащим команды set(), которые используют опцию CACHE, а не файл в формате кэша.

Ссылки на CMAKE_SOURCE_DIR и CMAKE_BINARY_DIR в скрипте соответствуют верхнеуровневому дереву исходного кода и сборки.

END_OF_DOCUMENT_MARKER ```
-D <var>:<type>=<value>, -D <var>=<value>

Создать или обновить запись CMake CACHE.

Когда CMake впервые запускается в пустой дереве сборки, он создаёт файл CMakeCache.txt и заполняет его настраиваемыми параметрами проекта. Этот параметр можно использовать для задания параметра, который имеет приоритет над значением по умолчанию проекта. Параметр можно повторять для любого количества CACHE записей.

Если указана часть :<type>, она должна быть одного из типов, указанных в документации команды set() для её CACHE подписи. Если часть :<type> опущена, запись будет создана без типа, если она не существует с уже заданным типом. Если команда в проекте установит тип в PATH или FILEPATH, то <value> будет преобразовано в абсолютный путь.

Этот параметр также может быть задан как один аргумент: -D<var>:<type>=<value> или -D<var>=<value>.

Важно отметить, что порядок аргументов -C и -D имеет значение. Они будут выполнены в том порядке, в котором они указаны, при этом последний аргумент имеет приоритет над предыдущими. Например, если вы укажете -DCMAKE_BUILD_TYPE=Debug, а затем аргумент -C с файлом, который вызывает:

set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)

то аргумент -C будет иметь приоритет, и CMAKE_BUILD_TYPE будет установлено в Release. Однако, если аргумент -D следует за аргументом -C, он будет установлен в Debug.

Если вызов set(... CACHE ...) в файле -C не использует FORCE, и аргумент -D устанавливает ту же переменную, аргумент -D будет иметь приоритет независимо от порядка, из-за особенностей вызовов без FORCE set(... CACHE ...).

-U <globbing_expr>

Удалить соответствующие записи из CMake CACHE.

Этот параметр может быть использован для удаления одной или нескольких переменных из файла CMakeCache.txt, поддерживаются выражения подстановки с * и ?. Параметр можно повторять для любого количества CACHE записей.

Используйте с осторожностью, вы можете сделать свою CMakeCache.txt неработающей.

-G <generator-name>

Указать генератор системы сборки.

CMake может поддерживать несколько собственных систем сборки на некоторых платформах. Генератор отвечает за генерацию конкретной системы сборки. Возможные имена генераторов указаны в руководстве cmake-generators(7).

Если не указано, CMake проверяет переменную окружения CMAKE_GENERATOR и в противном случае использует встроенный выбор по умолчанию.

-T <toolset-spec>

Указание набора инструментов для генератора, если поддерживается.

Некоторые генераторы CMake поддерживают указание набора инструментов, чтобы указать родной системе сборки, как выбрать компилятор. Подробнее см. переменную CMAKE_GENERATOR_TOOLSET.

-A <platform-name>

Указать имя платформы, если это поддерживается генератором.

Некоторые генераторы CMake поддерживают имя платформы, которое передаётся родной системе сборки для выбора компилятора или SDK. Подробнее см. переменную CMAKE_GENERATOR_PLATFORM.

--toolchain <path-to-file>

Добавлен в версии 3.21.

Указать файл цепочки инструментов для кросс-компиляции, что эквивалентно настройке переменной CMAKE_TOOLCHAIN_FILE. Относительные пути интерпретируются как относительные к каталогу сборки, и если не найдены, к каталогу исходников.

--install-prefix <directory>

Добавлен в версии 3.21.

Указать каталог установки, используемый переменной CMAKE_INSTALL_PREFIX. Должен быть абсолютным путём.

-Wno-dev

Отключить предупреждения разработчика.

Отключить предупреждения, предназначенные для автора файлов CMakeLists.txt. По умолчанию это также отключит предупреждения о устаревших функциях.

-Wdev

Включить предупреждения разработчика.

Включить предупреждения, предназначенные для автора файлов CMakeLists.txt. По умолчанию это также включит предупреждения о устаревших функциях.

-Wdeprecated

Включить предупреждения об устаревшей функциональности.

Включить предупреждения об использовании устаревшей функциональности, предназначенные для автора файлов CMakeLists.txt.

-Wno-deprecated

Отключить предупреждения об устаревшей функциональности.

Отключить предупреждения об использовании устаревшей функциональности, предназначенные для автора файлов CMakeLists.txt.

-Werror=<what>

Обрабатывать предупреждения CMake как ошибки. <what> должно быть одним из следующих:

dev

Сделать предупреждения разработчика ошибками.

Сделать предупреждения, предназначенные для автора файлов CMakeLists.txt, ошибками. По умолчанию это также включит предупреждения о устаревших функциях как ошибки.

deprecated

Сделать предупреждения об устаревших макросах и функциях ошибками.

Сделать предупреждения об использовании устаревших макросов и функций, предназначенные для автора файлов CMakeLists.txt, ошибками.

-Wno-error=<what>

Не обрабатывать предупреждения CMake как ошибки. <what> должно быть одним из следующих:

dev

Сделать предупреждения, предназначенные для автора файлов CMakeLists.txt, не ошибками. По умолчанию это также отключит предупреждения об устаревших функциях как ошибки.

deprecated

Сделать предупреждения об использовании устаревших макросов и функций, предназначенные для автора файлов CMakeLists.txt, не ошибками.

--fresh

Добавлен в версии 3.24.

Выполнить свежую конфигурацию дерева сборки. Это удаляет любой существующий файл CMakeCache.txt и связанный каталог CMakeFiles/, и создаёт их заново.

Изменено в версии 3.30: Для зависимостей, ранее заполненных FetchContent с настройкой NEW для политики CMP0168, их файлы отметки и скрипты из любой предыдущей работы будут удалены. Поэтому шаги загрузки, обновления и исправления будут вынуждены повторно выполняться.

-L[A][H]

Список не-расширенных кэшированных переменных.

Список переменных CACHE запустит CMake и выведет все переменные из кэша CMake CACHE, которые не помечены как INTERNAL или ADVANCED. Это эффективно отобразит текущие настройки CMake, которые затем можно изменить с помощью параметра -D. Изменение некоторых переменных может привести к созданию большего количества переменных. Если A указано, то будут отображены также расширенные переменные. Если H указано, также будет отображена помощь для каждой переменной.

-LR[A][H] <regex>

Добавлен в версии 3.31.

Показать конкретные не-расширенные кэшированные переменные

Показать не-INTERNAL ни ADVANCED переменные из кэша CMake CACHE, которые соответствуют заданному регулярному выражению. Если A указано, то будут отображены также расширенные переменные. Если H указано, также будет отображена помощь для каждой переменной.

-N

Только режим просмотра.

Только загрузить кэш. Не выполнять на самом деле шаги конфигурации и генерации.

--graphviz=<file>

Генерировать граф graphviz зависимостей, см. CMakeGraphVizOptions для более подробной информации.

Генерировать файл graphviz, который будет содержать все зависимости библиотек и исполняемых файлов в проекте. См. документацию для CMakeGraphVizOptions для получения более подробной информации.

--system-information [file]

Вывести информацию об этой системе.

Вывести широкий спектр информации о текущей системе. Если выполняется из корня бинарного дерева проекта CMake, он также выведет дополнительную информацию, такую как кэш, файлы журналов и т. д.

--print-config-dir

Добавлен в версии 3.31.

Вывести директорию конфигурации CMake для запросов FileAPI на уровне пользователя.

См. CMAKE_CONFIG_DIR для более подробной информации.

--log-level=<level>

Добавлен в версии 3.16.

Установить уровень вывода <level>.

Команда message() будет выводить сообщения только уровня указанного уровня логирования или выше. Допустимые уровни логирования ERROR, WARNING, NOTICE, STATUS (по умолчанию), VERBOSE, DEBUG, или TRACE.

Чтобы уровень логирования сохранился между запусками CMake, установите CMAKE_MESSAGE_LOG_LEVEL в качестве переменной кэша. Если указан и параметр командной строки, и переменная, параметр командной строки имеет приоритет.

Для обратной совместимости --loglevel также принимается как синоним этого параметра.

Добавлен в версии 3.25: См. команду cmake_language() для получения способа получения текущего уровня логирования сообщений.

--log-context

Включить вывод команды message() с контекстом, прикреплённым к каждому сообщению.

Этот параметр включает отображение контекста только для текущего запуска CMake. Чтобы сохранять отображение контекста для всех последующих запусков CMake, установите CMAKE_MESSAGE_CONTEXT_SHOW в качестве переменной кэша. Если указан этот параметр командной строки, CMAKE_MESSAGE_CONTEXT_SHOW игнорируется.

--debug-trycompile

Не удалять файлы и директории, созданные для вызовов try_compile() / try_run(). Это полезно при отладке не пройденных проверок.

Обратите внимание, что некоторые использования try_compile() могут использовать одну и ту же структуру сборки, что ограничивает полезность этого параметра, если проект выполняет более одного try_compile(). Например, такие использования могут изменить результаты, так как артефакты из предыдущего try-compile могут привести к тому, что следующий тест пройдет или не пройдет неправильно. Этот параметр лучше использовать только при отладке.

(В связи с предыдущим, команда try_run() фактически является try_compile(). Любая комбинация этих двух команд подвержена потенциальным проблемам, описанным выше.)

Добавлен в версии 3.25: При включении этого параметра каждый тест try-compile выводит сообщение в журнал, сообщая о директории, в которой выполняется проверка.

--debug-output

Включить режим отладки cmake.

Выводить дополнительную информацию во время работы cmake, например, трассировки стека с вызовами message(SEND_ERROR).

--debug-find

Добавлен в версии 3.17.

Включить режим отладки команд поиска cmake.

Выводить дополнительную информацию о вызовах поиска во время работы cmake в стандартный поток ошибок. Вывод предназначен для чтения человеком и не предназначен для парсинга. См. также переменную CMAKE_FIND_DEBUG_MODE для отладки более локальной части проекта.

--debug-find-pkg=<pkg>[,...]

Добавлен в версии 3.23.

Включить режим отладки команд поиска cmake при выполнении вызовов find_package(<pkg>), где <pkg> - это запись в заданном списке имён пакетов, разделённых запятыми, и чувствительных к регистру.

Аналогично --debug-find, но ограничивая область действия указанными пакетами.

--debug-find-var=<var>[,...]

Добавлен в версии 3.23.

Включить режим отладки команд поиска cmake, когда они вызываются с <var> в качестве переменной результата, где <var> - это запись в заданном списке, разделённых запятыми.

Аналогично --debug-find, но ограничивая область действия указанными именами переменных.

--trace

Включить режим трассировки cmake.

Вывести трассировку всех выполненных вызовов и их источников.

--trace-expand

Включить режим трассировки cmake.

Аналогично --trace, но с раскрытыми переменными.

--trace-format=<format>

Добавлен в версии 3.17.

Включить режим трассировки cmake и установить формат вывода трассировки.

<format> может иметь одно из следующих значений.

human

Выводит каждую строку трассировки в удобочитаемом формате. Это формат по умолчанию.

json-v1

Выводит каждую строку в виде отдельного JSON-документа. Каждый документ отделяется новой строкой ( \n ). Гарантируется, что внутри JSON-документа не будет символов новой строки.

JSON-формат трассировки
{
  "file": "/full/path/to/the/CMake/file.txt",
  "line": 0,
  "cmd": "add_executable",
  "args": ["foo", "bar"],
  "time": 1579512535.9687231,
  "frame": 2,
  "global_frame": 4
}

Поля:

file

Полный путь к файлу исходного кода CMake, в котором была вызвана функция.

line

Строка в file, где начинается вызов функции.

line_end

Если вызов функции занимает несколько строк, это поле будет установлено на строку, где вызов функции заканчивается. Если вызов функции занимает одну строку, это поле не устанавливается. Это поле было добавлено в версии json-v1 формата.

defer

Необязательное поле, присутствующее, когда вызов функции был отложен командой cmake_language(DEFER). Если присутствует, его значение — строка, содержащая отложенный вызов <id>.

cmd

Имя функции, которая была вызвана.

args

Список строк всех параметров функции.

time

Отметка времени (секунды с начала эпохи) вызова функции.

frame

Глубина кадра стека функции, которая была вызвана в контексте обрабатываемого в данный момент CMakeLists.txt.

global_frame

Глубина кадра стека функции, которая была вызвана, отслеживаемая глобально по всем CMakeLists.txt файлам, участвующим в трассировке. Это поле было добавлено в версии json-v1 формата.

Кроме того, первый JSON-документ вывода содержит поле version для текущей основной и дополнительной версии

JSON-формат версии
{
  "version": {
    "major": 1,
    "minor": 2
  }
}

Поля:

version

Указывает версию JSON-формата. Версия имеет основные и дополнительные компоненты, следующие соглашениям семантической версии.

--trace-source=<file>

Включить режим трассировки cmake, но выводить только строки из указанного файла.

Допускается несколько параметров.

END_OF_DOCUMENT_MARKER
--trace-redirect=<file>

Включить режим отслеживания CMake и перенаправить вывод отслеживания в файл вместо stderr.

--warn-uninitialized

Выводить предупреждения о неинициализированных значениях.

Выводить предупреждение при использовании неинициализированной переменной.

--warn-unused-vars

Не выполняет никаких действий. В версиях CMake 3.2 и ниже, эта опция включала предупреждения о неиспользуемых переменных. В версиях CMake 3.3–3.18 опция была нерабочей. В CMake 3.19 и выше опция была удалена.

--no-warn-unused-cli

Не выводить предупреждения об опциях командной строки.

Не искать переменные, объявленные в командной строке, но не используемые.

--check-system-vars

Поиск проблем с использованием переменных в системных файлах.

Обычно неиспользуемые и неинициализированные переменные ищутся только в CMAKE_SOURCE_DIR и CMAKE_BINARY_DIR. Этот флаг указывает CMake на то, чтобы выводить предупреждения и об остальных файлах.

--compile-no-warning-as-error

Добавлена в версии 3.24.

Игнорировать свойство целевого объекта COMPILE_WARNING_AS_ERROR и переменную CMAKE_COMPILE_WARNING_AS_ERROR, препятствуя тому, чтобы предупреждения обрабатывались как ошибки при компиляции.

--profiling-output=<path>

Добавлена в версии 3.18.

Используется в сочетании с --profiling-format для вывода в указанный путь.

--profiling-format=<file>

Включить вывод профилирующих данных скрипта CMake в заданном формате.

Это может помочь в анализе производительности исполняемых скриптов CMake. Для обработки вывода в читаемый человеком формат необходимо использовать сторонние приложения.

В настоящее время поддерживаются следующие значения: google-trace Вывод в формате Google Trace, который можно проанализировать с помощью вкладки «Отслеживание» в Google Chrome или с помощью плагина для инструмента, такого как Trace Compass.

--preset <preset>, --preset=<preset>

Читает preset из файлов CMakePresets.json и CMakeUserPresets.json, которые должны находиться в той же директории, что и основной файл CMakeLists.txt. Предварительная настройка может указывать генератор, директорию сборки, список переменных и другие аргументы для передачи в CMake. По крайней мере, один из файлов CMakePresets.json или CMakeUserPresets.json должен быть присутствовать. CMake GUI также распознает и поддерживает файлы CMakePresets.json и CMakeUserPresets.json. Более подробная информация о этих файлах приведена в cmake-presets(7).

Настройки считываются до всех других параметров командной строки, хотя параметр -S может использоваться для указания директории исходных кодов, содержащей файлы CMakePresets.json и CMakeUserPresets.json. Если -S не указан, предполагается, что текущая директория является основной директорией исходных кодов, и должна содержать файлы настроек. Параметры, указанные выбранной настройкой (переменные, генератор и т. д.), могут быть переопределены вручную в командной строке. Например, если в настройке установлено значение переменной MYVAR в 1, но пользователь задаёт её значение 2 с аргументом -D, значение 2 будет иметь приоритет.

--list-presets[=<type>]

Отображает доступные настройки указанного <type>. Допустимые значения для <type> — configure, build, test, package, или all. Если <type> опущено, предполагается configure. Текущая рабочая директория должна содержать файлы настроек CMake, если не используется параметр -S для указания другой основной директории исходных кодов.

--debugger

Включает интерактивное отладку языка CMake. CMake предоставляет интерфейс отладки в именованной пайпе --debugger-pipe, который соответствует спецификации Debug Adapter Protocol с следующими изменениями.

Ответ initialize включает дополнительное поле с именем cmakeVersion, которое указывает версию отлаживаемого CMake.

Ответ на инициализацию отладчика
{
  "cmakeVersion": {
    "major": 3,
    "minor": 27,
    "patch": 0,
    "full": "3.27.0"
  }
}

Члены:

major

Целое число, определяющее номер основной версии.

minor

Целое число, определяющее номер дополнительной версии.

patch

Целое число, определяющее номер патча.

full

Строка, определяющая полную версию CMake.

--debugger-pipe <pipe name>, --debugger-pipe=<pipe name>

Имя пайпа (в Windows) или доменного сокета (в Unix) для связи с отладчиком.

--debugger-dap-log <log path>, --debugger-dap-log=<log path>

Записывает все взаимодействия отладчика в указанный файл.

Построение проекта

CMake предоставляет командную строку для построения уже сгенерированного бинарного дерева проекта:

cmake --build <dir>             [<options>] [-- <build-tool-options>]
cmake --build --preset <preset> [<options>] [-- <build-tool-options>]

Это абстракция интерфейса командной строки средства для построения с указанными параметрами:

--build <dir>

Директория бинарных файлов проекта, которая должна быть построена. Требуется (если не указана настройка) и должна быть первой.

--preset <preset>, --preset=<preset>

Использовать настройки построения для задания параметров построения. Директория бинарных файлов проекта определяется по ключу configurePreset. Текущая рабочая директория должна содержать файлы настроек CMake. Более подробную информацию см. в preset.

--list-presets

Отображает доступные настройки построения. Текущая рабочая директория должна содержать файлы настроек CMake.

-j [<jobs>], --parallel [<jobs>]

Добавлена в версии 3.12.

Максимальное количество одновременных процессов для построения. Если <jobs> опущено, используется значение по умолчанию для используемого средства построения.

Переменная среды CMAKE_BUILD_PARALLEL_LEVEL, если установлена, задаёт значение по умолчанию для уровня параллелизма, когда этот параметр не задан.

Некоторые средства построения всегда выполняют построение параллельно. Использование значения <jobs> в 1 может ограничить количество задач до одной.

-t <tgt>..., --target <tgt>...

Построить <tgt> вместо целевого объекта по умолчанию. Можно указать несколько целевых объектов, разделяя их пробелами.

--config <cfg>

Для средств построения с несколькими конфигурациями выбирает конфигурацию <cfg>.

--clean-first

Сначала очистить целевой объект clean, а затем выполнить построение. (Для очистки только используйте --target clean.)

--resolve-package-references=<value>

Добавлена в версии 3.23.

Разрешить ссылки на удалённые пакеты из внешних менеджеров пакетов (например, NuGet) перед сборкой. Когда <value> установлено в on (по умолчанию), пакеты будут восстановлены перед построением целевого объекта. Когда <value> установлено в only, пакеты будут восстановлены, но сборка не будет выполнена. Когда <value> установлено в off, пакеты не будут восстановлены.

Если целевой объект не определяет никаких ссылок на пакеты, эта опция ничего не делает.

Этот параметр можно указать в предустановке сборки (используя resolvePackageReferences). Настройка предустановки будет проигнорирована, если указан этот параметр командной строки.

Если параметр командной строки или параметр предустановки не указаны, будет оценена переменная кэша, специфичная для среды, чтобы определить, следует ли выполнять восстановление пакетов.

При использовании генератора Visual Studio ссылки на пакеты определяются с помощью свойства VS_PACKAGE_REFERENCES. Пакеты восстанавливаются с помощью NuGet. Это можно отключить, установив переменную CMAKE_VS_NUGET_PACKAGE_RESTORE в значение OFF.

--use-stderr

Игнорируется. Поведение по умолчанию в CMake >= 3.0.

-v, --verbose

Включить подробный вывод — если поддерживается — включая команды сборки, которые будут выполнены.

Этот параметр можно опустить, если переменная окружения VERBOSE или кэшированная переменная CMAKE_VERBOSE_MAKEFILE установлены.

--

Передать оставшиеся параметры в системный инструмент.

Запустите cmake --build без параметров для получения краткой справки.

Установка проекта

CMake предоставляет параметр командной строки для установки уже сгенерированного двоичного дерева проекта:

cmake --install <dir> [<options>]

Это можно использовать после сборки проекта для выполнения установки без использования сгенерированной системы сборки или системного инструмента сборки. Доступны следующие параметры:

--install <dir>

Директория двоичных файлов проекта для установки. Это обязательно и должно быть первым.

--config <cfg>

Для генераторов с несколькими конфигурациями выберите конфигурацию <cfg>.

--component <comp>

Установка по компонентам. Установить только компонент <comp>.

--default-directory-permissions <permissions>

Права доступа к каталогам по умолчанию. Права доступа в формате <u=rwx,g=rx,o=rx>.

--prefix <prefix>

Переопределить префикс установки, CMAKE_INSTALL_PREFIX.

--strip

Сжать перед установкой.

-v, --verbose

Включить подробный вывод.

Этот параметр можно опустить, если переменная окружения VERBOSE установлена.

-j <jobs>, --parallel <jobs>

Добавлена в версии 3.31.

Установка в параллельном режиме с заданным числом задач. Доступно только если INSTALL_PARALLEL включен. Переменная окружения CMAKE_INSTALL_PARALLEL_LEVEL задаёт уровень параллелизма по умолчанию, когда этот параметр не указан.

Запустите cmake --install без параметров для получения краткой справки.

Открытие проекта

cmake --open <dir>

Открыть сгенерированный проект в соответствующем приложении. Поддерживается только некоторыми генераторами.

Запуск скрипта

cmake [-D <var>=<value>]... -P <cmake-script-file> [-- <unparsed-options>...]
-D <var>=<value>

Определение переменной для режима скрипта.

-P <cmake-script-file>

Обработать данный файл CMake как скрипт, написанный на языке CMake. Этап конфигурации или генерации не выполняется, и кэш не изменяется. Если переменные определены с помощью -D, это необходимо сделать до аргумента -P.

Любые параметры после -- не анализируются CMake, но всё ещё включены в набор переменных CMAKE_ARGV<n>, переданных в скрипт (включая само --).

Запуск утилиты командной строки

CMake предоставляет встроенные инструменты командной строки через синтаксис

cmake -E <command> [<options>]
-E [help]

Запустите cmake -E или cmake -E help для получения сводки команд.

Доступные команды:

capabilities

Добавлена в версии 3.7.

Отчёт о возможностях cmake в формате JSON. Вывод представляет собой JSON-объект со следующими ключами:

version

JSON-объект с информацией о версии. Ключи:

string

Полная строка версии, отображаемая cmake --version.

major

Основной номер версии в целочисленном формате.

minor

Дополнительный номер версии в целочисленном формате.

patch

Номер патча в целочисленном формате.

suffix

Строка суффикса версии cmake.

isDirty

Булевое значение, установленное, если сборка cmake выполняется из грязного дерева.

generators

Список доступных генераторов. Каждый генератор — это JSON-объект со следующими ключами:

name

Строка, содержащая имя генератора.

toolsetSupport

true если генератор поддерживает наборы инструментов, и false в противном случае.

platformSupport

true если генератор поддерживает платформы, и false в противном случае.

supportedPlatforms

Добавлена в версии 3.21.

Необязательный член, который может быть присутствующим, когда генератор поддерживает указание платформы через CMAKE_GENERATOR_PLATFORM (-A ...). Значение — список известных платформ.

extraGenerators

Список строк со всеми Дополнительными генераторами, совместимыми с генератором.

fileApi

Необязательный член, который присутствует, когда доступен cmake-file-api(7). Значение — JSON-объект с одним членом:

requests

JSON-массив, содержащий ноль или более поддерживаемых запросов file-api. Каждый запрос — это JSON-объект с членами:

kind

Указывает один из поддерживаемых Типов объектов.

version

JSON-массив, элементы которого являются JSON-объектами, содержащими члены major и minor, задающие целочисленные компоненты версии не меньше нуля.

serverMode

true если cmake поддерживает серверный режим, и false в противном случае. Всегда ложь с CMake 3.20.

tls

Добавлена в версии 3.25.

true если поддержка TLS включена, и false в противном случае.

debugger

Добавлена в версии 3.27.

true если режим --debugger поддерживается, и false в противном случае.

cat [--] <files>...

Добавлен в версии 3.18.

Объединить файлы и вывести на стандартный вывод.

--

Добавлен в версии 3.24.

Добавлена поддержка аргумента с двойным дефисом --. Эта базовая реализация cat не поддерживает никаких опций, поэтому использование опции, начинающейся с -, приведет к ошибке. Используйте -- для указания окончания опций, если файл начинается с -.

Добавлен в версии 3.29: cat теперь может выводить стандартный ввод, передавая аргумент -.

chdir <dir> <cmd> [<arg>...]

Изменить текущий рабочий каталог и выполнить команду.

compare_files [--ignore-eol] <file1> <file2>

Проверить, равны ли <file1> и <file2>. Если файлы одинаковые, то возвращает 0, в противном случае возвращает 1. В случае неверных аргументов возвращает 2.

--ignore-eol

Добавлен в версии 3.14.

Опция подразумевает сравнение по строкам и игнорирует различия LF/CRLF.

copy <file>... <destination>, copy -t <destination> <file>...

Копировать файлы в <destination> (файл или каталог). Если указано несколько файлов или указан -t, то <destination> должен быть каталогом и он должен существовать. Если -t не указан, последний аргумент предполагается как <destination>. Поддержка шаблонов не реализована. copy следует за символьными ссылками. Это означает, что он не копирует символьную ссылку, но файлы или каталоги, на которые она указывает.

Добавлен в версии 3.5: Поддержка нескольких входных файлов.

Добавлен в версии 3.26: Поддержка аргумента -t.

copy_directory <dir>... <destination>

Копировать содержимое каталогов <dir>... в каталог <destination>. Если каталог <destination> не существует, он будет создан. copy_directory следует за символьными ссылками.

Добавлен в версии 3.5: Поддержка нескольких входных каталогов.

Добавлен в версии 3.15: Команда теперь завершается ошибкой, когда исходный каталог не существует. Ранее она успешно завершалась, создавая пустой целевой каталог.

copy_directory_if_different <dir>... <destination>

Добавлен в версии 3.26.

Копировать изменённое содержимое каталогов <dir>... в каталог <destination>. Если каталог <destination> не существует, он будет создан.

copy_directory_if_different следует за символьными ссылками. Команда завершается ошибкой, если исходный каталог не существует.

copy_if_different <file>... <destination>

Копировать файлы в <destination> (файл или каталог), если они изменены. Если указано несколько файлов, <destination> должен быть каталогом и он должен существовать. copy_if_different следует за символьными ссылками.

Добавлен в версии 3.5: Поддержка нескольких входных файлов.

create_symlink <old> <new>

Создать символьную ссылку <new> с именем <old>.

Добавлен в версии 3.13: Поддержка создания символьных ссылок в Windows.

Примечание

Путь, где будет создана символическая ссылка <new>, должен существовать.

create_hardlink <old> <new>

Добавлен в версии 3.19.

Создать жёсткую ссылку <new> с именем <old>.

Примечание

Путь, где будет создана жёсткая ссылка <new>, должен существовать. <old> должен существовать.

echo [<string>...]

Отображает аргументы как текст.

echo_append [<string>...]

Отображает аргументы как текст, но без новой строки.

env [<options>] [--] <command> [<arg>...]

Добавлен в версии 3.1.

Запустить команду в изменённой среде. Опции:

NAME=VALUE

Заменяет текущее значение NAME на VALUE.

--unset=NAME

Устанавливает текущее значение NAME в значение по умолчанию.

--modify ENVIRONMENT_MODIFICATION

Добавлен в версии 3.25.

Применить единственную операцию ENVIRONMENT_MODIFICATION к изменённой среде.

Опции NAME=VALUE и --unset=NAME эквивалентны --modify NAME=set:VALUE и --modify NAME=unset:, соответственно. Обратите внимание, что --modify NAME=reset: сбрасывает NAME до значения, которое было у него при запуске cmake (или устанавливает его в значение по умолчанию), а не до последнего значения опции NAME=VALUE.

--

Добавлен в версии 3.24.

Добавлена поддержка аргумента с двойным дефисом --. Используйте -- для остановки интерпретации опций/переменных среды и обработки следующего аргумента как команды, даже если он начинается с - или содержит =.

environment

Отобразить текущие переменные среды.

false

Добавлен в версии 3.16.

Не выполнять никаких действий, с кодом выхода 1.

make_directory <dir>...

Создать каталоги <dir>. При необходимости создавать родительские каталоги тоже. Если каталог уже существует, он будет проигнорирован.

Добавлен в версии 3.5: Поддержка нескольких входных каталогов.

md5sum <file>...

Создать контрольную сумму MD5 файлов в формате, совместимом с md5sum:

351abe79cd3800b38cdfb25d45015a15  file1.txt
052f86c15bbde68af55c7f7b340ab639  file2.txt
sha1sum <file>...

Добавлен в версии 3.10.

Создать контрольную сумму SHA1 файлов в формате, совместимом с sha1sum:

4bb7932a29e6f73c97bb9272f2bdc393122f86e0  file1.txt
1df4c8f318665f9a5f2ed38f55adadb7ef9f559c  file2.txt
sha224sum <file>...

Добавлен в версии 3.10.

Создать контрольную сумму SHA224 файлов в формате, совместимом с sha224sum:

b9b9346bc8437bbda630b0b7ddfc5ea9ca157546dbbf4c613192f930  file1.txt
6dfbe55f4d2edc5fe5c9197bca51ceaaf824e48eba0cc453088aee24  file2.txt
sha256sum <file>...

Добавлен в версии 3.10.

Создать контрольную сумму SHA256 файлов в формате, совместимом с sha256sum:

76713b23615d31680afeb0e9efe94d47d3d4229191198bb46d7485f9cb191acc  file1.txt
15b682ead6c12dedb1baf91231e1e89cfc7974b3787c1e2e01b986bffadae0ea  file2.txt
sha384sum <file>...

Добавлен в версии 3.10.

Создать контрольную сумму SHA384 файлов в формате, совместимом с sha384sum:

acc049fedc091a22f5f2ce39a43b9057fd93c910e9afd76a6411a28a8f2b8a12c73d7129e292f94fc0329c309df49434  file1.txt
668ddeb108710d271ee21c0f3acbd6a7517e2b78f9181c6a2ff3b8943af92b0195dcb7cce48aa3e17893173c0a39e23d  file2.txt
sha512sum <file>...

Добавлен в версии 3.10.

Создать контрольную сумму SHA512 файлов в формате, совместимом с sha512sum:

2a78d7a6c5328cfb1467c63beac8ff21794213901eaadafd48e7800289afbc08e5fb3e86aa31116c945ee3d7bf2a6194489ec6101051083d1108defc8e1dba89  file1.txt
7a0b54896fe5e70cca6dd643ad6f672614b189bf26f8153061c4d219474b05dad08c4e729af9f4b009f1a1a280cb625454bf587c690f4617c27e3aebdf3b7a2d  file2.txt
remove [-f] <file>...

Устарело начиная с версии 3.17.

Удалить файл(ы). Планировалось, что если какой-либо из перечисленных файлов не существует, команда возвращает код ошибки, но сообщение не регистрируется. Опция -f изменяет поведение на возврат кода выхода 0 (т.е. успех) в таких ситуациях вместо этого. remove не следует за символьными ссылками. Это означает, что он удаляет только символьную ссылку, а не файлы, на которые она указывает.

Реализация была ошибочной и всегда возвращала 0. Её нельзя исправить без нарушения обратной совместимости. Используйте rm вместо этого.

remove_directory <dir>...

Устарело начиная с версии 3.17.

Удалить каталоги <dir> и их содержимое. Если каталог не существует, он будет проигнорирован. Используйте rm вместо этого.

Добавлено в версии 3.15: Поддержка нескольких каталогов.

Добавлено в версии 3.16: Если <dir> является символической ссылкой на каталог, будет удалена только сама ссылка.

rename <oldname> <newname>

Переименовать файл или каталог (в пределах одного тома). Если файл с <newname> именем уже существует, он будет безмолвно перезаписан.

rm [-rRf] [--] <file|dir>...

Добавлено в версии 3.17.

Удалить файлы <file> или каталоги <dir>. Используйте -r или -R для рекурсивного удаления каталогов и их содержимого. Если какие-либо из перечисленных файлов/каталогов не существуют, команда возвращает ненулевой код выхода, но никаких сообщений не регистрируется. Опция -f изменяет поведение, чтобы в таких ситуациях возвращать нулевой код выхода (т.е. успех) вместо этого. Используйте -- для остановки интерпретации опций и обработки всех оставшихся аргументов как путей, даже если они начинаются с -.

sleep <number>

Добавлено в версии 3.0.

Подождать <number> секунд. <number> может быть числом с плавающей точкой. Практический минимум составляет около 0,1 секунды из-за накладных расходов на запуск/остановку исполняемого файла CMake. Это может быть полезно в скрипте CMake для вставки задержки:

# Sleep for about 0.5 seconds
execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 0.5)
tar [cxt][vf][zjJ] file.tar [<options>] [--] [<pathname>...]

Создать или извлечь архив tar или zip. Доступны следующие опции:

c

Создать новый архив, содержащий указанные файлы. Если используется, аргумент <pathname>... является обязательным.

x

Извлечь из архива в систему.

Добавлено в версии 3.15: Аргумент <pathname>... может использоваться для извлечения только выбранных файлов или каталогов. При извлечении выбранных файлов или каталогов необходимо указать их точные имена, включая путь, как выводится командой list (-t).

t

Вывести содержимое архива.

Добавлено в версии 3.15: Аргумент <pathname>... может использоваться для вывода списка только выбранных файлов или каталогов.

v

Вывести подробный вывод.

z

Сжать получившийся архив с помощью gzip.

j

Сжать получившийся архив с помощью bzip2.

J

Добавлено в версии 3.1.

Сжать получившийся архив с помощью XZ.

--zstd

Добавлено в версии 3.15.

Сжать получившийся архив с помощью Zstandard.

--files-from=<file>

Добавлено в версии 3.1.

Считывать имена файлов из указанного файла, по одному на строку. Пустые строки игнорируются. Строки не могут начинаться с - за исключением --add-file=<name> для добавления файлов, имена которых начинаются с -.

--format=<format>

Добавлено в версии 3.3.

Указать формат создаваемого архива. Поддерживаемые форматы: 7zip, gnutar, pax, paxr (ограниченный pax, по умолчанию) и zip.

--mtime=<date>

Добавлено в версии 3.1.

Указать время изменения, записанное в записи архива tar.

--touch

Добавлено в версии 3.24.

Использовать текущее локальное время вместо извлечения времен изменения файлов из архива.

--

Добавлено в версии 3.1.

Прекратить интерпретацию опций и обрабатывать все оставшиеся аргументы как имена файлов, даже если они начинаются с -.

Добавлено в версии 3.1: Поддержка LZMA (7zip).

Добавлено в версии 3.15: Команда теперь продолжает добавлять файлы в архив, даже если некоторые из файлов не читаются. Это поведение более соответствует классическому инструменту tar. Команда также теперь парсит все флаги, и если был предоставлен неверный флаг, выдаётся предупреждение.

time <command> [<args>...]

Запустить <command> и отобразить время выполнения (включая накладные расходы интерфейса CMake).

Добавлено в версии 3.5: Команда теперь корректно передаёт аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые обходили ошибку с помощью дополнительных приемов цитирования или экранирования.

touch <file>...

Создаёт <file> если файл не существует. Если <file> существует, изменяются время доступа и изменения <file>.

touch_nocreate <file>...

Обновить файл, если он существует, но не создавать его. Если файл не существует, он будет проигнорирован.

true

Добавлено в версии 3.16.

Не выполнять никаких действий, с кодом выхода 0.

Инструменты командной строки, специфичные для Windows

Следующие cmake -E команды доступны только в Windows:

delete_regv <key>

Удалить значение реестра Windows.

env_vs8_wince <sdkname>

Добавлено в версии 3.2.

Отображает пакетный файл, который устанавливает среду для предоставленного SDK Windows CE, установленного в VS2005.

env_vs9_wince <sdkname>

Добавлено в версии 3.2.

Отображает пакетный файл, который устанавливает среду для предоставленного SDK Windows CE, установленного в VS2008.

write_regv <key> <value>

Записать значение реестра Windows.

Запуск инструмента Find-Package

CMake предоставляет помощник pkg-config для проектов на основе Makefile:

cmake --find-package [<options>]

Он ищет пакет с помощью find_package() и выводит полученные флаги в стандартный вывод. Это можно использовать вместо pkg-config для поиска установленных библиотек в проектах на основе простого Makefile или в проектах на основе autoconf (через share/aclocal/cmake.m4).

Примечание

Этот режим не хорошо поддерживается из-за некоторых технических ограничений. Он сохранён для совместимости, но не должен использоваться в новых проектах.

Запуск предопределённого процесса работы

Добавлено в версии 3.25.

CMake Presets предоставляет способ выполнения нескольких шагов сборки в определённом порядке:

cmake --workflow <options>

Доступны следующие опции:

--workflow

Выберите Предустановку процесса работы с использованием одной из следующих опций.

END_OF_DOCUMENT_MARKER
--preset <preset>, --preset=<preset>

Используйте предустановку рабочего процесса для указания рабочего процесса. Директория двоичных файлов проекта определяется по умолчанию из начальной предустановки конфигурации. Текущая рабочая директория должна содержать файлы предустановок CMake. Подробнее см. preset.

Изменено в версии 3.31: При использовании сразу после опции --workflow, аргумент --preset можно опустить и указать только имя <preset>. Это означает, что следующий синтаксис допустим:

$ cmake --workflow my-preset
--list-presets

Отображает доступные предустановки рабочего процесса. Текущая рабочая директория должна содержать файлы предустановок CMake.

--fresh

Выполнить свежую конфигурацию дерева сборки, что эквивалентно cmake --fresh.

Просмотр справки

Для печати выбранных страниц из документации CMake используйте

cmake --help[-<topic>]

с одним из следующих параметров:

-version [<file>], --version [<file>], /V [<file>]

Отображает баннер с именем/версией программы и завершает работу. Вывод печатается в именованный <file> файл, если он указан.

-h, -H, --help, -help, -usage, /?

Выводит информацию об использовании и завершает работу.

Информация об использовании описывает базовый интерфейс командной строки и его параметры.

--help <keyword> [<file>]

Выводит справку по одному ключевому слову CMake.

<keyword> может быть свойством, переменной, командой, политикой, генератором или модулем.

Соответствующая запись в руководстве для <keyword> выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

Изменено в версии 3.28: До CMake 3.28 этот параметр поддерживал только имена команд.

--help-full [<file>]

Выводит все руководства по справке и завершает работу.

Все руководства выводятся в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-manual <man> [<file>]

Выводит одно руководство по справке и завершает работу.

Указанное руководство выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-manual-list [<file>]

Выводит список доступных руководств по справке и завершает работу.

Список содержит все руководства, для которых справка может быть получена с помощью опции --help-manual и последующего имени руководства. Вывод печатается в именованный <file> файл, если он указан.

--help-command <cmd> [<file>]

Выводит справку по одной команде и завершает работу.

Запись в руководстве cmake-commands(7) для <cmd> выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-command-list [<file>]

Выводит список команд со справкой и завершает работу.

Список содержит все команды, для которых справка может быть получена с помощью опции --help-command и последующего имени команды. Вывод печатается в именованный <file> файл, если он указан.

--help-commands [<file>]

Выводит руководство cmake-commands и завершает работу.

Руководство cmake-commands(7) выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-module <mod> [<file>]

Выводит справку по одному модулю и завершает работу.

Запись в руководстве cmake-modules(7) для <mod> выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-module-list [<file>]

Выводит список модулей со справкой и завершает работу.

Список содержит все модули, для которых справка может быть получена с помощью опции --help-module и последующего имени модуля. Вывод печатается в именованный <file> файл, если он указан.

--help-modules [<file>]

Выводит руководство cmake-modules и завершает работу.

Руководство cmake-modules(7) выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-policy <cmp> [<file>]

Выводит справку по одной политике и завершает работу.

Запись в руководстве cmake-policies(7) для <cmp> выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-policy-list [<file>]

Выводит список политик со справкой и завершает работу.

Список содержит все политики, для которых справка может быть получена с помощью опции --help-policy и последующего имени политики. Вывод печатается в именованный <file> файл, если он указан.

--help-policies [<file>]

Выводит руководство cmake-policies и завершает работу.

Руководство cmake-policies(7) выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-property <prop> [<file>]

Выводит справку по одному свойству и завершает работу.

Записи в руководстве cmake-properties(7) для <prop> выводятся в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-property-list [<file>]

Выводит список свойств со справкой и завершает работу.

Список содержит все свойства, для которых справка может быть получена с помощью опции --help-property и последующего имени свойства. Вывод печатается в именованный <file> файл, если он указан.

--help-properties [<file>]

Выводит руководство cmake-properties и завершает работу.

Руководство cmake-properties(7) выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-variable <var> [<file>]

Выводит справку по одной переменной и завершает работу.

Запись в руководстве cmake-variables(7) для <var> выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

--help-variable-list [<file>]

Выводит список переменных со справкой и завершает работу.

Список содержит все переменные, для которых справка может быть получена с помощью опции --help-variable и последующего имени переменной. Вывод печатается в именованный <file> файл, если он указан.

--help-variables [<file>]

Выводит руководство cmake-variables и завершает работу.

Руководство cmake-variables(7) выводится в удобочитаемом текстовом формате. Вывод печатается в именованный <file> файл, если он указан.

Для просмотра предустановок, доступных для проекта, используйте

cmake <source-dir> --list-presets

Возвращаемое значение (код завершения)

При нормальном завершении исполняемый файл cmake возвращает код завершения 0.

Если завершение вызвано командой message(FATAL_ERROR) или другой ошибкой, возвращается ненулевой код завершения.

См. также

Для получения помощи по использованию CMake доступны следующие ресурсы:

Главная страница

https://cmake.org

Основная точка входа для ознакомления с CMake.

Онлайн-документация и ресурсы сообщества

https://cmake.org/documentation

Ссылки на доступную документацию и ресурсы сообщества можно найти на этой веб-странице.

Форум Discourse

https://discourse.cmake.org

Форум Discourse предоставляет форум для обсуждения и вопросов по CMake.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/manual/cmake.1.html

Spec-Zone.ru

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