Перейти до вмісту

CMake

ПрограмаKitware

Також називається cmake gui, kitware cmake

KitwareПродуктивність

Генератор файлів збирання від Kitware. cmake.exe створює файли для Visual Studio або Ninja. Він не замінює MSVC або rustc.

Що потрібно знати

CMake генерує файли збирання. Це не компілятор.

cmake.exe від Kitware створює файли проєктів для Visual Studio, Ninja та інших систем. cl.exe та link.exe все одно надаються MSVC. rustc та go належать до інших мов. Інсталяція CMake не інсталює Visual Studio.

Що це таке?
Генератор файлів збирання
Це компілятор?
Ні. Вам усе одно потрібен MSVC або аналог
Замінює Visual Studio?
Ні. Він може згенерувати .sln
Feex повідомляє
Якщо cmake.exe виконує конфігурацію, але компіляція зазнає невдачі, я б перевірив генератор і компілятор, який він знайшов. Я б не сприймав CMake як MSVC. Генератор - це не набір інструментів розробки (toolchain).

Що таке CMake?

CMake - це система метазбирання. Вона генерує рішення Visual Studio, файли Ninja та інші. Це не cl.exe, не rustc і не сам MSBuild.

Якщо ви ніколи ним не користувалися

Якщо у файлі README проєкту C++ сказано інсталювати CMake, завантажте його з cmake.org/download. cmake.exe генерує файли збирання. Це не компілятор. Вам усе одно потрібні MSVC, Ninja або інший набір інструментів. rustc.exe і go.exe належать до інших мов. CMake не замінить devenv.exe.

Для чого він використовується?

Згенерувати рішення Visual Studio

cmake -G "Visual Studio 17 2022". Потім devenv.exe відкриває цей .sln. CMake його ще не компілював.

Ninja та інші генератори

Ninja разом із MSVC або GCC. cargo та go мають власні графи збирання.

Пресети

CMakePresets.json у сучасних проєктах. Цей файл не є виконуваним файлом компілятора.

Для кого це призначено?

  • Розробники на C та C++, у чиїх репозиторіях є CMakeLists.txt
  • Люди, які інсталювали CMake і здивувалися, чому відсутній cl.exe
  • Усі, хто вважав, що CMake замінює Visual Studio

Поточний стан

CMake (2000) - це актуальний генератор збирання від Kitware. Постачальник досі скеровує користувачів Windows на https://cmake.org/download/.

Скільки йому років?

Kitware випустила CMake у 2000 році для великих дерев коду C++. Він старіший за Rust і Go. Актуальними версіями продукту є релізи 3.x/4.x. Посібники лише для 2.8 можуть не містити інформації про сучасні пресети.

Версії

Спочатку основні канали. Точні номери збірок тут не перевіряються в повному обсязі.

cmake.exe
cmake-gui.exe

Системні вимоги

Значення базуються на загальнодоступних рекомендаціях розробника. Реальні потреби залежать від робочого навантаження.

Мінімум

Мінімальні системні вимоги
Операційна система Актуальний 64-розрядний випуск Windows 10 або Windows 11, за даними Kitware
Оперативна пам'ять Генератор невеликий. Компіляція, яку він запускає, є ресурсомістким етапом

Профіль використання ресурсів

Вимоги до процесора
Залежить від того, що ви відкриваєте всередині програми
Вимоги до оперативної пам'яті
Залежить від документів, вкладок або бібліотек

Інстальовані процеси

Ці виконувані файли належать до цього продукту, коли його інстальовано.

Інстальовані процеси
cmake.exe Генератор командного рядка CMake
cmake-gui.exe Додатковий графічний інтерфейс CMake GUI

Компоненти автозапуску

CMake не запускається разом із Windows. Ви запускаєте його в папці збирання.

Розташування файлів

Типові шляхи CMake
Типова інсталяція C:\Program Files\CMake\

Формати файлів

CMakeLists.txtCMakePresets.json

Поширені проблеми

Конфігурація успішна, компіляція зазнає невдачі

CMake знайшов генератор. Компілятор або SDK усе ще відсутні. Це проблема MSVC або Windows SDK.

Неправильний генератор для інстальованої VS

"Visual Studio 17 2022" потребує VS 2022. CMake не може створити devenv.exe з нічого.

Вирішення проблем

cmake --version та where.exe cmake

Очікується Program Files\CMake\bin. Випадковий cmake.exe у віртуальному середовищі venv - це інша ситуація.

Інсталюйте з cmake.org/download

Kitware розміщує MSI. Пакунок CMake, об'єднаний із випадковим архівом компілятора, - це непотріб.

Інсталюйте Visual Studio або Build Tools, якщо вам потрібен MSVC

Visual Studio Installer додає cl.exe. Після цього CMake його виявить.

Альтернативи

Meson і Bazel - це інші системи метазбирання. MSBuild - це те, на що часто націлений генератор VS. CMake усе ще залишається основним входом для проєктів C++.

Офіційна довідка та завантаження

Почніть із розробника. Випадкові сайти з exe-файлами не є каналом підтримки.

Офіційні контакти
Завантажити cmake.org/download/ Офіційний інсталятор або сторінка постачальника
Довідка cmake.org/documentation/ Підтримка від постачальника
Офіційний сайт cmake.org/ Почніть звідси, а не з випадкового сайту з файлами exe
Документація CMake cmake.org/cmake/help/latest/ Команди та генератори

Пов'язане апаратне забезпечення

Конфігурація невибаглива. Компіляція, яку ви генеруєте, потребує ресурсів CPU та RAM.

Технічні деталі

Технічні деталі

Номери версій від постачальника змінюються. Ця стаття не фіксує конкретну збірку.

Джерела та верифікація

Зафіксована позначка джерела: серпень 2026. Ця позначка не встановлює незалежної перевірки. Як ми проводимо дослідження.

Чи була ця стаття корисною?

Достатньо відповісти "так" або "ні". За бажанням виберіть причину або додайте коротку примітку.

Чи була ця стаття корисною?