cmake(1)
Синопсис
Generate a Project Buildsystem
cmake [<options>] <path-to-source>
cmake [<options>] <path-to-existing-build>
cmake [<options>] -S <path-to-source> -B <path-to-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>]
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>] <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 .
-
cmake [<options>] -S <path-to-source> -B <path-to-build> -
Использует
<path-to-build>как дерево сборки и<path-to-source>как дерево исходных кодов. Указанные пути могут быть абсолютными или относительными к текущему рабочему каталогу. Дерево исходных кодов должно содержать файлCMakeLists.txt. Дерево сборки будет создано автоматически, если оно еще не существует. Например:$ cmake -S src -B build
Во всех случаях <options> может содержать ноль или более из параметров ниже.
После генерации системы сборки можно использовать соответствующий инструмент системной сборки для построения проекта. Например, после использования генератора 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в скрипте ссылаются на исходное и целевое дерево верхнего уровня. -
-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>. -
-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. -
-Wno-dev -
Отключение предупреждений для разработчиков.
Отключение предупреждений, предназначенных для автора файлов
CMakeLists.txt. По умолчанию это также выключит предупреждения о устаревании. -
-Wdev -
Включение предупреждений для разработчиков.
Включение предупреждений, предназначенных для автора файлов
CMakeLists.txt. По умолчанию это также включит предупреждения об устаревании. -
-Werror=dev -
Преобразование предупреждений для разработчиков в ошибки.
Преобразование предупреждений, предназначенных для автора файлов
CMakeLists.txtв ошибки. По умолчанию это также преобразует предупреждения об устаревании в ошибки. -
-Wno-error=dev -
Преобразование предупреждений для разработчиков не в ошибки.
Преобразование предупреждений, предназначенных для автора файлов
CMakeLists.txtне в ошибки. По умолчанию это также отключит предупреждения об устаревании как ошибки. -
-Wdeprecated -
Включение предупреждений об устаревшем функционале.
Включение предупреждений об использовании устаревшего функционала, предназначенных для автора файлов
CMakeLists.txt. -
-Wno-deprecated -
Отключение предупреждений об устаревшем функционале.
Отключение предупреждений об использовании устаревшего функционала, предназначенных для автора файлов
CMakeLists.txt. -
-Werror=deprecated -
Преобразование предупреждений об устаревших макросах и функциях в ошибки.
Преобразование предупреждений об использовании устаревших макросов и функций, предназначенных для автора файлов
CMakeLists.txtв ошибки. -
-Wno-error=deprecated -
Преобразование предупреждений об устаревших макросах и функциях не в ошибки.
Преобразование предупреждений об использовании устаревших макросов и функций, предназначенных для автора файлов
CMakeLists.txtне в ошибки. -
-L[A][H] -
Список не-расширенных переменных кэша.
Команда вывода
CACHEпеременных запустит CMake и выведет все переменные из файла кэша CMakeCACHE, которые не помечены какINTERNALилиADVANCED. Это позволит эффективно отобразить текущие настройки CMake, которые затем могут быть изменены с помощью параметра-D. Изменение некоторых переменных может привести к созданию большего числа переменных. ЕслиAуказан, то он также отобразит расширенные переменные. ЕслиHуказан, он также отобразит справку по каждой переменной. -
-N -
Только режим просмотра.
Только загрузка кэша. Фактически шаги конфигурации и генерации не выполняются.
-
--graphviz=[file] -
Генерация графика зависимостей graphviz, см.
CMakeGraphVizOptionsдля получения дополнительной информации.Генерация файла graphviz, который будет содержать все зависимости библиотек и исполняемых файлов в проекте. Смотрите документацию по
CMakeGraphVizOptionsдля получения дополнительной информации. -
--system-information [file] -
Вывод информации об этой системе.
Вывод широкого спектра информации об текущей системе. Если запуск производится из корня двоичного дерева проекта CMake, он выведет дополнительную информацию, такую как кэш, файлы журналов и т.д.
-
--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE> -
Установка уровня ведения журнала.
Команда
message()будет выводить сообщения только указанного уровня ведения журнала или выше. По умолчанию уровень ведения журналаSTATUS.Чтобы сохранить уровень ведения журнала между запусками CMake, установите
CMAKE_MESSAGE_LOG_LEVELкак переменную кэша. Если указан параметр командной строки и переменная, имеет приоритет параметр командной строки.Для обеспечения обратной совместимости,
--loglevelтакже принимается как синоним для этого параметра. -
--log-context -
Включить вывод команды
message()с контекстом, прикреплённым к каждому сообщению.Этот параметр включает отображение контекста только для текущего выполнения CMake. Чтобы сделать отображение контекста постоянным для всех последующих запусков CMake, установите
CMAKE_MESSAGE_CONTEXT_SHOWкак переменную кэша вместо этого. Когда указан параметр командной строки,CMAKE_MESSAGE_CONTEXT_SHOWигнорируется. -
--debug-trycompile -
Не удалять дерево построения
try_compile(). Полезно только для одного вызоваtry_compile()за раз.Не удалять файлы и каталоги, созданные для вызовов
try_compile(). Это полезно при отладке неудачных try_compiles. Однако это может изменить результаты try-compiles, так как старые остатки предыдущей попытки try-compile могут привести к тому, что другой тест будет либо правильно пройти, либо не пройти. -
--debug-output -
Перевести CMake в отладочный режим.
Выводить дополнительную информацию во время выполнения CMake, например, трассировки стека с вызовами
message(SEND_ERROR). -
--debug-find
-
Включить режим отладки для команд cmake find.
Выводить дополнительную информацию о вызовах find во время выполнения cmake в стандартный поток ошибок. Вывод предназначен для чтения человеком, а не для парсинга. См. также переменную
CMAKE_FIND_DEBUG_MODEдля отладки более локальной части проекта. -
--trace -
Включить режим трассировки для cmake.
Выводить трассировку всех вызовов и их источников.
-
--trace-expand -
Включить режим трассировки для cmake.
Как
--trace, но с подставленными переменными. -
--trace-format=<format> -
Включить режим трассировки для 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 }Поля:
-
file -
Полный путь к исходному файлу CMake, где была вызвана функция.
-
line -
Строка в
fileвызова функции. -
cmd -
Имя функции, которая была вызвана.
-
args -
Список строк всех параметров функции.
-
time -
Отметка времени (секунды с начала эпохи) вызова функции.
-
frame -
Глубина стека фреймов для функции, которая была вызвана.
Кроме того, первый выводимый JSON документ содержит поле
versionдля текущей основной и дополнительной версииФормат трассировки в JSON:
{ "version": { "major": 1, "minor": 0 } }Поля:
-
version -
Указывает версию формата JSON. Версия имеет главную и дополнительную составляющие, следуя соглашениям семантической версии.
-
-
-
--trace-source=<file> -
Включить режим трассировки для cmake, но выводить только строки указанного файла.
Разрешены несколько вариантов.
-
--trace-redirect=<file> -
Включить режим трассировки для cmake и перенаправить вывод трассировки в файл вместо stderr.
-
--warn-uninitialized -
Выводить предупреждения об инициализированных значениях.
Выводить предупреждение, когда используется неинициализированная переменная.
-
--warn-unused-vars -
Выводить предупреждения об unused переменных.
Найти переменные, которые объявлены или заданы, но не используются.
-
--no-warn-unused-cli -
Не выводить предупреждения об опциях командной строки.
Не находить переменные, объявленные в командной строке, но не используемые.
-
--check-system-vars -
Находить проблемы с использованием переменных в системных файлах.
Обычно, unused и uninitialized переменные ищутся только в
CMAKE_SOURCE_DIRиCMAKE_BINARY_DIR. Этот флаг заставляет CMake выводить предупреждения и об других файлах. -
--profiling-output=<path> -
Используется совместно с
--profiling-formatдля вывода в заданный путь. -
--profiling-format=<file> -
Включить вывод данных профилирования скрипта CMake в заданном формате.
Это может помочь в анализе производительности исполняемых CMake скриптов. Для обработки вывода в удобочитаемый формат необходимо использовать сторонние приложения.
В настоящее время поддерживаются значения:
google-traceВывод в формате трассировки Google, который можно проанализировать с помощью вкладки «about:tracing» в Google Chrome или с помощью плагина для инструмента, такого как Trace Compass.
Построение проекта
CMake предоставляет команду для построения уже сгенерированного проекта бинарного дерева:
cmake --build <dir> [<options>] [-- <build-tool-options>]
Это абстрагирует интерфейс командной строки утилиты построения с последующими опциями:
-
--build <dir> -
Директория бинарного дерева проекта, подлежащая построению. Требуется и должна быть первой.
-
--parallel [<jobs>], -j [<jobs>] -
Максимальное число одновременных процессов, используемых при построении. Если
<jobs>опущено, используется значение по умолчанию для утилиты построения.Переменная окружения
CMAKE_BUILD_PARALLEL_LEVEL, если задана, определяет уровень параллелизма по умолчанию, когда эта опция не указана.Некоторые утилиты построения всегда строят параллельно. Использование значения
<jobs>1может использоваться для ограничения до одного задания. -
--target <tgt>..., -t <tgt>... -
Построить
<tgt>вместо целевого по умолчанию. Можно указать несколько целей, разделённых пробелами. -
--config <cfg> -
Для инструментов с несколькими конфигурациями выберите конфигурацию
<cfg>. -
--clean-first -
Сначала построить целевой объект
clean, а затем выполнить построение. (Для очистки, используйте--target clean.) -
--use-stderr -
Игнорируется. Поведение по умолчанию в CMake >= 3.0.
-
--verbose, -v -
Включить подробный вывод – если поддерживается – включая команды сборки, которые будут выполнены.
Этот параметр можно опустить, если переменная среды
VERBOSEили кэшированная переменнаяCMAKE_VERBOSE_MAKEFILEзаданы. -
-- -
Передать оставшиеся опции утилите.
Запустите cmake --build без опций для быстрой справки.
Установка проекта
CMake предоставляет команду для установки уже сгенерированного проекта бинарного дерева:
cmake --install <dir> [<options>]
Это может использоваться после построения проекта для выполнения установки без использования сгенерированной системы построения или утилиты построения. Опции:
-
--install <dir> -
Директория бинарного дерева проекта для установки. Требуется и должна быть первой.
-
--config <cfg> -
Для генераторов с несколькими конфигурациями выберите конфигурацию
<cfg>. -
--component <comp> -
Установка по компонентам. Установить только компонент
<comp>. -
--prefix <prefix> -
Переопределить префикс установки,
CMAKE_INSTALL_PREFIX. -
--strip -
Удалить ненужное перед установкой.
-
-v, --verbose -
Включить подробный вывод.
Этот параметр можно опустить, если переменная среды
VERBOSEустановлена.
Запустите cmake --install без опций для быстрой справки.
Открытие проекта
cmake --open <dir>
Открыть сгенерированный проект в соответствующем приложении. Поддерживается только некоторыми генераторами.
Выполнение скрипта
cmake [{-D <var>=<value>}...] -P <cmake-script-file> [-- <unparsed-options>...]
Обработать указанный файл cmake как скрипт, написанный на языке CMake. Не выполняется настройка или генерация, кэш не изменяется. Если переменные определены с помощью -D, это должно быть сделано до аргумента -P.
Любые опции после -- не анализируются CMake, но все равно включены в набор переменных CMAKE_ARGV<n>, передаваемых скрипту (включая сам --).
Запуск инструмента командной строки
CMake предоставляет встроенные инструменты командной строки через синтаксис
cmake -E <command> [<options>]
Запустите cmake -E или cmake -E help для просмотра списка команд. Доступные команды:
-
capabilities -
Отчёт о возможностях cmake в формате JSON. Вывод представляет собой JSON-объект со следующими ключами:
-
version -
JSON-объект с информацией о версии. Ключи:
-
string -
Полная строка версии, отображаемая cmake
--version. -
major -
Основной номер версии в виде целого числа.
-
minor -
Дополнительный номер версии в виде целого числа.
-
patch -
Номер исправления в виде целого числа.
-
suffix -
Строка суффикса версии cmake.
-
isDirty -
Логическое значение, установленное, если сборка cmake выполнена из грязного дерева.
-
-
generators -
Список доступных генераторов. Каждый генератор — JSON-объект со следующими ключами:
-
name -
Строка, содержащая имя генератора.
-
toolsetSupport -
trueесли генератор поддерживает наборы инструментов иfalseв противном случае. -
platformSupport -
trueесли генератор поддерживает платформы иfalseв противном случае. -
extraGenerators -
Список строк со всеми дополнительными генераторами, совместимыми с генератором.
-
-
fileApi -
Необязательный член, присутствующий, когда доступна
cmake-file-api(7). Значение — JSON-объект с одним членом:-
requests -
JSON-массив, содержащий ноль или более поддерживаемых запросов file-api. Каждый запрос — JSON-объект с членами:
-
kind -
Указывает один из поддерживаемых видов объектов.
-
version -
JSON-массив, элементы которого являются JSON-объектами, содержащими
majorиminorчлены, определяющие целые числа компонентов версии, не меньше нуля.
-
-
-
serverMode -
trueесли cmake поддерживает серверный режим иfalseв противном случае.
-
-
cat <files>... -
Объединение файлов и вывод на стандартный вывод.
-
chdir <dir> <cmd> [<arg>...] -
Изменение текущей рабочей директории и выполнение команды.
-
compare_files [--ignore-eol] <file1> <file2> -
Проверка,
<file1>совпадает с<file2>. Если файлы одинаковы, возвращается0, иначе —1. Опция--ignore-eolподразумевает сравнение по строкам и игнорирует различия LF/CRLF. -
copy <file>... <destination> -
Копирование файлов в
<destination>(файл или директория). Если указано несколько файлов, то<destination>должно быть директорией и существовать. Подстановка символов не поддерживается.copyследует за символическими ссылками. Это означает, что он не копирует символические ссылки, но файлы или директории, на которые они указывают. -
copy_directory <dir>... <destination> -
Копирование содержимого директорий
<dir>...в директорию<destination>. Если директория<destination>не существует, она будет создана.copy_directoryследует за символическими ссылками. -
copy_if_different <file>... <destination> -
Копирование файлов в
<destination>(файл или директория), если они изменены. Если указано несколько файлов, то<destination>должно быть директорией и существовать.copy_if_differentследует за символическими ссылками. -
create_symlink <old> <new> -
Создание символической ссылки
<new>с именем<old>.Примечание
Путь, где будет создана символическая ссылка
<new>, должен существовать. -
echo [<string>...] -
Отображение аргументов как текста.
-
echo_append [<string>...] -
Отображение аргументов как текста, но без новой строки.
-
env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]... -
Выполнение команды в изменённой среде.
-
environment -
Отображение текущих переменных окружения.
-
false -
Ничего не делает, с кодом выхода 1.
-
make_directory <dir>... -
Создание директорий
<dir>. При необходимости создаются и родительские директории. Если директория уже существует, она будет проигнорирована. -
md5sum <file>... -
Создание контрольной суммы MD5 файлов в формате, совместимом с
md5sum:351abe79cd3800b38cdfb25d45015a15 file1.txt 052f86c15bbde68af55c7f7b340ab639 file2.txt
-
sha1sum <file>... -
Создание контрольной суммы SHA1 файлов в формате, совместимом с
sha1sum:4bb7932a29e6f73c97bb9272f2bdc393122f86e0 file1.txt 1df4c8f318665f9a5f2ed38f55adadb7ef9f559c file2.txt
-
sha224sum <file>... -
Создание контрольной суммы SHA224 файлов в формате, совместимом с
sha224sum:b9b9346bc8437bbda630b0b7ddfc5ea9ca157546dbbf4c613192f930 file1.txt 6dfbe55f4d2edc5fe5c9197bca51ceaaf824e48eba0cc453088aee24 file2.txt
-
sha256sum <file>... -
Создание контрольной суммы SHA256 файлов в формате, совместимом с
sha256sum:76713b23615d31680afeb0e9efe94d47d3d4229191198bb46d7485f9cb191acc file1.txt 15b682ead6c12dedb1baf91231e1e89cfc7974b3787c1e2e01b986bffadae0ea file2.txt
-
sha384sum <file>... -
Создание контрольной суммы SHA384 файлов в формате, совместимом с
sha384sum:acc049fedc091a22f5f2ce39a43b9057fd93c910e9afd76a6411a28a8f2b8a12c73d7129e292f94fc0329c309df49434 file1.txt 668ddeb108710d271ee21c0f3acbd6a7517e2b78f9181c6a2ff3b8943af92b0195dcb7cce48aa3e17893173c0a39e23d file2.txt
-
sha512sum <file>... -
Создание контрольной суммы SHA512 файлов в формате, совместимом с
sha512sum:2a78d7a6c5328cfb1467c63beac8ff21794213901eaadafd48e7800289afbc08e5fb3e86aa31116c945ee3d7bf2a6194489ec6101051083d1108defc8e1dba89 file1.txt 7a0b54896fe5e70cca6dd643ad6f672614b189bf26f8153061c4d219474b05dad08c4e729af9f4b009f1a1a280cb625454bf587c690f4617c27e3aebdf3b7a2d file2.txt
-
remove [-f] <file>... -
Устарело начиная с версии 3.17.
Удаление файла(ов). Планировалось, что если какой-либо из перечисленных файлов не существует, команда возвращает ненулевой код выхода, но сообщение не выводится. Опция
-fизменяет поведение, чтобы в таких ситуациях возвращать нулевой код выхода (т.е. успех).removeне следует за символическими ссылками. Это означает, что он удаляет только символические ссылки, а не файлы, на которые они указывают.Реализация была некорректной и всегда возвращала 0. Исправить это невозможно без нарушения обратной совместимости. Используйте
rmвместо этого. -
remove_directory <dir>... -
Устарело начиная с версии 3.17.
Удаление директорий
<dir>и их содержимого. Если директория не существует, она будет проигнорирована. Если<dir>является символической ссылкой на директорию, будет удалена только символическая ссылка. Используйтеrmвместо этого. -
rename <oldname> <newname> -
Переименование файла или директории (в пределах одного тома). Если файл с именем
<newname>уже существует, он будет заменён. -
rm [-rRf] <file> <dir>... -
Удаление файлов
<file>или директорийdir. Используйте-rили-Rдля рекурсивного удаления директорий и их содержимого. Если какой-либо из перечисленных файлов/директорий не существует, команда возвращает ненулевой код выхода, но сообщение не выводится. Опция-fизменяет поведение, чтобы в таких ситуациях возвращать нулевой код выхода (т.е. успех). -
server -
Запуск режима
cmake-server(7). -
sleep <number>... -
Ожидание в течение заданного количества секунд.
-
tar [cxt][vf][zjJ] file.tar [<options>] [--] [<pathname>...] -
Создание или извлечение архива tar или zip. Опции:
-
c -
Создание нового архива, содержащего указанные файлы. Если используется, аргумент
<pathname>...обязателен. -
x -
Извлечение из архива на диск. Аргумент
<pathname>...может быть использован для извлечения только выбранных файлов или директорий. При извлечении выбранных файлов или директорий необходимо указать их точные имена, включая путь, как напечатано в списке (-t). -
t -
Вывод содержимого архива. Аргумент
<pathname>...может быть использован для вывода только выбранных файлов или директорий. -
v -
Вывод подробной информации.
-
z -
Сжатие получившегося архива с помощью gzip.
-
j -
Сжатие получившегося архива с помощью bzip2.
-
J -
Сжатие получившегося архива с помощью XZ.
-
--zstd -
Сжатие получившегося архива с помощью Zstandard.
-
--files-from=<file> -
Чтение имён файлов из указанного файла, по одному на строке. Пустые строки игнорируются. Строки не могут начинаться с
-за исключением--add-file=<name>для добавления файлов, имена которых начинаются с-. -
--format=<format> -
Указание формата создаваемого архива. Поддерживаемые форматы:
7zip,gnutar,pax,paxr(ограниченный pax, по умолчанию) иzip. -
--mtime=<date> -
Указание времени изменения, записываемого в записи tarball.
-
-- -
Остановление интерпретации опций и обработка всех оставшихся аргументов как имён файлов, даже если они начинаются с
-.
-
-
time <command> [<args>...] -
Выполнение команды и отображение времени выполнения.
-
touch <file>... -
Создаёт
<file>, если файл не существует. Если<file>существует, изменяет время доступа и изменения<file>. -
touch_nocreate <file>... -
Изменяет время файла, если он существует, но не создаёт его. Если файл не существует, он будет проигнорирован.
-
true -
Ничего не делает, с кодом выхода 0.
Инструменты командной строки, специфичные для Windows
Следующие cmake -E команды доступны только в Windows:
-
delete_regv <key> -
Удаление значения из реестра Windows.
-
env_vs8_wince <sdkname> -
Отображение командного файла, который устанавливает среду для предоставленного SDK Windows CE, установленного в VS2005.
-
env_vs9_wince <sdkname> -
Отображение командного файла, который устанавливает среду для предоставленного 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).
Примечание
Этот режим не поддерживается должным образом из-за некоторых технических ограничений. Он сохраняется для совместимости, но не должен использоваться в новых проектах.
Просмотр справки
Для вывода выбранных страниц из документации CMake используйте
cmake --help[-<topic>]
с одним из следующих параметров:
-
--help,-help,-usage,-h,-H,/? -
Выводит информацию об использовании и завершает работу.
Информация об использовании описывает базовый интерфейс командной строки и его параметры.
-
--version,-version,/V [<f>] -
Отображает баннер с именем программы/версией и завершает работу.
Если задан файл, версия записывается в него. Справка выводится в указанный файл <f>айл, если он задан.
-
--help-full [<f>] -
Выводит все руководства по справке и завершает работу.
Все руководства выводятся в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.
-
--help-manual <man> [<f>] -
Выводит одно руководство по справке и завершает работу.
Указанное руководство выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.
-
--help-manual-list [<f>] -
Выводит список доступных руководств по справке и завершает работу.
Список содержит все руководства, по которым справка может быть получена с помощью параметра
--help-manualи имени руководства. Справка выводится в указанный файл <f>айл, если он задан. -
--help-command <cmd> [<f>] -
Выводит справку по одной команде и завершает работу.
Запись справки в руководстве
cmake-commands(7)для<cmd>выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-command-list [<f>] -
Выводит список команд со справкой и завершает работу.
Список содержит все команды, по которым справка может быть получена с помощью параметра
--help-commandи имени команды. Справка выводится в указанный файл <f>айл, если он задан. -
--help-commands [<f>] -
Выводит руководство cmake-commands и завершает работу.
Руководство
cmake-commands(7)выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-module <mod> [<f>] -
Выводит справку по одному модулю и завершает работу.
Запись справки в руководстве
cmake-modules(7)для<mod>выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-module-list [<f>] -
Выводит список модулей со справкой и завершает работу.
Список содержит все модули, по которым справка может быть получена с помощью параметра
--help-moduleи имени модуля. Справка выводится в указанный файл <f>айл, если он задан. -
--help-modules [<f>] -
Выводит руководство cmake-modules и завершает работу.
Руководство
cmake-modules(7)выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-policy <cmp> [<f>] -
Выводит справку по одной политике и завершает работу.
Запись справки в руководстве
cmake-policies(7)для<cmp>выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-policy-list [<f>] -
Выводит список политик со справкой и завершает работу.
Список содержит все политики, по которым справка может быть получена с помощью параметра
--help-policyи имени политики. Справка выводится в указанный файл <f>айл, если он задан. -
--help-policies [<f>] -
Выводит руководство cmake-policies и завершает работу.
Руководство
cmake-policies(7)выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-property <prop> [<f>] -
Выводит справку по одному свойству и завершает работу.
Записи справки в руководстве
cmake-properties(7)для<prop>выводятся в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-property-list [<f>] -
Выводит список свойств со справкой и завершает работу.
Список содержит все свойства, по которым справка может быть получена с помощью параметра
--help-propertyи имени свойства. Справка выводится в указанный файл <f>айл, если он задан. -
--help-properties [<f>] -
Выводит руководство cmake-properties и завершает работу.
Руководство
cmake-properties(7)выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-variable <var> [<f>] -
Выводит справку по одной переменной и завершает работу.
Запись справки в руководстве
cmake-variables(7)для<var>выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан. -
--help-variable-list [<f>] -
Выводит список переменных со справкой и завершает работу.
Список содержит все переменные, по которым справка может быть получена с помощью параметра
--help-variableи имени переменной. Справка выводится в указанный файл <f>айл, если он задан. -
--help-variables [<f>] -
Выводит руководство cmake-variables и завершает работу.
Руководство
cmake-variables(7)выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.
См. также
Для получения справки по использованию CMake доступны следующие ресурсы:
- Главная страница
-
Основная стартовая точка для изучения CMake.
- Онлайн-документация и ресурсы сообщества
-
https://cmake.org/documentation
Ссылки на доступную документацию и ресурсы сообщества можно найти на этой веб-странице.
- Форум Discourse
-
Форум Discourse предоставляет платформу для обсуждения и вопросов по CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.18/manual/cmake.1.html