Главная > Другие внешние пакеты > cmake

cmake: Кроссплатформенный генератор систем сборки

CMake — это инструмент для создания кроссплатформенных систем сборки, независимых от операционной системы и компилятора. Он в основном используется для проектов на C и C++ и может генерировать различные файлы сборки, такие как Makefile, проекты Visual Studio, проекты Xcode и другие. Это позволяет разработчикам управлять проектами и собирать их, не будучи зависимыми от конкретной IDE или инструмента сборки.

Обзор

CMake генерирует скрипты сборки, соответствующие выбранному инструменту сборки (например, Make, Ninja), на основе файла CMakeLists.txt, который определяет процесс сборки исходного кода. Это необходимо для стандартизации и автоматизации процесса сборки сложных проектов.

Основные возможности

  • Кроссплатформенная поддержка (Linux, Windows, macOS и т. д.)
  • Генерация различных систем сборки (Makefiles, Visual Studio, Xcode и т. д.)
  • Простота управления модульными проектами
  • Поддержка тестирования и упаковки (CTest, CPack)

Основные опции

Основные опции, часто используемые при выполнении команды CMake.

Базовая настройка

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

Сборка и установка

Информация

Сгенерированная команда:

Комбинируйте команды.

Описание:

`cmake` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Различные сценарии настройки и сборки проектов с использованием CMake.

Базовая настройка сборки и создание Makefile

mkdir build
cd build
cmake ..
make

Создает Makefile в подкаталоге 'build' на основе исходников в текущем каталоге.

Явное указание каталогов исходников и сборки

cmake -S /path/to/my_project_source -B /path/to/my_project_build

Создает файлы сборки, явно указывая каталоги исходников и сборки.

Использование генератора Ninja и сборка в режиме Release

cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release

Создает файлы сборки, используя систему сборки Ninja и устанавливая тип сборки в Release.

Выполнение сборки через CMake

cmake --build build

Выполняет сборку через команду CMake, а не напрямую вызывая сгенерированную систему сборки (например, Makefile).

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

cmake --install build

Устанавливает собранный проект в стандартный путь системы (например, /usr/local).

Установка

CMake не входит в стандартную поставку большинства дистрибутивов Linux, поэтому его необходимо устанавливать через менеджер пакетов.

Debian/Ubuntu

sudo apt update
sudo apt install cmake

Устанавливает CMake с помощью менеджера пакетов APT.

Fedora/RHEL/CentOS

sudo dnf install cmake

Устанавливает CMake с помощью менеджера пакетов DNF или YUM.

Arch Linux

sudo pacman -S cmake

Устанавливает CMake с помощью менеджера пакетов Pacman.

Советы и рекомендации

Советы и рекомендации по эффективному использованию CMake.

Сборка вне каталога исходников (Out-of-Source Build)

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

  • Предотвращает загрязнение каталога исходников
  • Облегчает одновременное управление различными конфигурациями сборки (Debug/Release)

Файл CMakeLists.txt

Ядром CMake является файл CMakeLists.txt, который определяет правила сборки проекта. Важно понимать синтаксис и структуру этого файла.

  • Располагается в корневом каталоге проекта
  • Может также присутствовать в подкаталогах (включается командой add_subdirectory)

Использование GUI-инструментов

Для сложных проектов CMake можно использовать такие инструменты, как `ccmake` (основанный на терминале) или `cmake-gui` (графический), для визуальной настройки и управления переменными кэша.

  • `ccmake`: Интерактивная настройка переменных кэша в терминале
  • `cmake-gui`: Удобная настройка с помощью графического интерфейса

Те же команды в категории