CMake یک مولد سیستم ساخت است، به این معنی که ابزاری است که فایل های ساخت (مانند فایل های ساخت یا فایل های پروژه) را برای یک پلتفرم و کامپایلر خاص تولید می کند. به جای نوشتن فایل های ساخت با دست، CMake به توسعه دهندگان اجازه می دهد تا فایل های پیکربندی ساده، مستقل از پلتفرم و کامپایلر را ایجاد کنند که پروژه و نیازمندی های ساخت آن را توصیف می کند. این فایلهای پیکربندی که CMakeLists.txt نامیده میشوند، فایلهای منبع، کتابخانهها و دیگر وابستگیهای پروژه و همچنین هر دستور یا پرچم سفارشی را مشخص میکنند.
هنگامی که CMake اجرا می شود، از این اطلاعات برای تولید فایل های ساخت مناسب برای پلتفرم و کامپایلری که استفاده می کنید استفاده می کند.
این بدان معناست که شما می توانید از همان فایل های پیکربندی CMake برای تولید فایل های ساخت برای پلتفرم ها و کامپایلرهای مختلف استفاده کنید که می تواند فرآیند ساخت و بسته بندی نرم افزار را برای چندین پلتفرم ساده کند. CMake همچنین از ویژگی های مختلف دیگری مانند تست، بسته بندی و نصب نرم افزار پشتیبانی می کند.