C++ — это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет похожий синтаксис, но теперь это совершенно другой язык.
CMake — это кроссплатформенный генератор системы сборки с открытым исходным кодом. Он генерирует файлы для систем сборки, такие как собственные файлы makefiles, ninja-build и файлы проектов для нескольких интегрированных сред разработки.
Makefile — это входной файл для языка управления сборкой / инструмента make. Он определяет цели и зависимости вместе с соответствующими командами для выполнения (также известными как рецепты) для обновления целей.
C — это язык программирования общего назначения, используемый для системного программирования (ОС и встроенного), библиотек, игр и кроссплатформенности.