August 31, 2000
CMake released
Kitware introduced CMake on August 31, 2000 — a cross-platform build system generator for C and C++ projects.
What it was for
CMake reads `CMakeLists.txt` files and emits Makefiles, Ninja files, or IDEIntegrated development environment — an editor with debugging, build tools, and project management built in. projects — one build description for Linux, macOSApple's desktop operating system — runs on Mac hardware with Unix foundations and the Cocoa UI framework., and Windows. It powers LLVMLow Level Virtual Machine — a compiler infrastructure reused by Clang, Rust, Swift, and many language toolchains., KDE, OpenCV, and countless native libraries. Example: `cmake -B build && cmake --build build` configures and compiles without hand-writing platform-specific make rules.
Why it's here
CMake solved cross-platform native builds when autotools and Visual StudioMicrosoft's IDE — editing, debugging, and profiling for .NET, C++, and web projects. projects diverged.
Why it mattered
It became the de facto build meta-system for open-source C/C++ and influenced Conan and vcpkg workflows.
What it solved
Maintaining separate build files per OSOperating system — software that manages hardware and provides services to applications. was unmaintainable for large C++ codebases like medical imaging toolkits.
Media
ImageCMakeSoftware: LLVM Developer Group and cmake.org Screenshot: VulcanSphere, Apache License 2.0, via Wikimedia Commons
Related
- Make build tool createdApril 1976
- Bazel open-sourcedMarch 24, 2015
- Ninja build system open-sourcedFebruary 6, 2011
- Autoconf createdJune 1991