Содержание
Вы скачали проект на C++. В папке лежит исходный код, а вот кнопки «Запустить» нигде нет. Зато есть файл CMakeLists.txt. Это хорошая новость: автор уже записал, как собрать программу. Давайте сделаем такой проект сами — от двух файлов до работающего табло с очками.
Что делает CMake и что нужно установить
CMake читает описание проекта и готовит инструкции для сборки: какие исходники взять и как назвать программу. Компилятор выполняет другую работу — превращает код C++ в машинный код. Поэтому для примера нужны и CMake версии 3.16 или новее, и комплект для сборки: например, GCC с Make в Linux, инструменты командной строки Xcode в macOS или Visual Studio с компонентом «Разработка классических приложений на C++» в Windows.
4 ноября Kitware выпустила CMake 4.5.0-rc3. Буквы rc означают, что это кандидат на выпуск: его ещё тестируют. Для нашего примера он не нужен. Мы собрали проект на macOS с CMake 4.3.0 и Apple Clang 17.
Два файла для первого проекта
Создайте пустую папку scoreboard. В ней сохраните два файла из примера. Первый считает очки за два раунда. Второй описывает сборку — положите его рядом с первым, а не в отдельную папку.
#include <iostream>
int main() {
const int first_round = 12;
const int second_round = 30;
std::cout << "Score: " << first_round + second_round << '\n';
}
cmake_minimum_required(VERSION 3.16)
project(scoreboard LANGUAGES CXX)
add_executable(score main.cpp)
Первая строка задаёт минимальную версию CMake. Вторая называет проект и выбирает язык C++. Третья говорит, что из main.cpp нужно собрать программу с именем score. Поэтому готовый файл будет называться по имени программы, а не по имени папки.
Как запустить проект с помощью cmake
Откройте терминал в папке, где лежат оба файла. Сначала попросим CMake прочитать описание проекта и подготовить папку сборки:
cmake -S . -B build
После -S стоит точка: исходники ищем в текущей папке. После -B стоит build: сюда CMake положит служебные файлы. Папку он создаст сам. Увидели сообщение Build files have been written to? Первый шаг прошёл, но запускать пока нечего: готовы только инструкции.
cmake --build build --config Debug
Теперь система сборки вызывает компилятор и собирает программу. Параметр --config Debug выбирает отладочный вариант там, где один проект поддерживает несколько конфигураций, например в Visual Studio.
Как пересобрать проект, если изменились исходники
В Linux или macOS при обычной сборке через Make или Ninja запустите программу из папки проекта:
./build/score
В Windows при сборке через Visual Studio команда для PowerShell будет такой:
.\build\Debug\score.exe
Если в Windows вы используете обычный Ninja, программа лежит прямо в build, без подпапки Debug. В macOS с генератором Xcode, наоборот, ищите score внутри build/Debug.
При первом запуске табло покажет Score: 42. Теперь в main.cpp замените 30 на 35, сохраните файл, повторите только команду сборки и запустите программу ещё раз. Получилось Score: 47? Значит, вы запускаете свежую сборку. Если по-прежнему 42, проверьте, что сохранили исходник и сборка завершилась без ошибки.
Если CMake не видит проект
Сообщение does not appear to contain CMakeLists.txt обычно означает, что терминал открыт не в той папке. Найдите рядом main.cpp и CMakeLists.txt и запускайте первую команду оттуда. В Windows заодно проверьте расширение: редактор мог сохранить файл как CMakeLists.txt.txt.
Если CMake нашёл описание проекта, но сообщает No CMAKE_CXX_COMPILER could be found, дело уже в компиляторе. Проверьте, что установлен комплект разработки C++, а на Windows попробуйте терминал разработчика Visual Studio. Переписывать программу из-за этой ошибки не нужно: компилятор ещё даже не добрался до вашего кода.
Источники
- Kitware. CMake 4.5.0-rc3: выпуск для тестирования [Электронный ресурс]. — URL: https://www.kitware.com/cmake-4-5-0-rc3-is-ready-for-testing/ (дата обращения: 09.11.2026).
- CMake. Командная строка: настройка и сборка [Электронный ресурс]. — URL: https://cmake.org/cmake/help/latest/manual/cmake.1.html (дата обращения: 09.11.2026).
- CMake. Официальный практикум для начинающих [Электронный ресурс]. — URL: https://cmake.org/cmake/help/latest/guide/tutorial/index.html (дата обращения: 09.11.2026).



