Catalyst: A Modern, Declarative C++ Build System
WARNING: Catalyst is currently in early development. APIs and features are subject to change. NOTE: This documentation refers to binaries built from the 1.1.0 tag.
Catalyst is a next-generation build system for C++ that aims to bring the ease of use of declarative configuration to the C++ ecosystem. It prioritizes declarative configuration, reproducibility, and developer experience.
Key Features
- Declarative Configuration: Define your project with simple YAML files. No more complex CMake scripting.
- Profile Composition: Mix and match build configurations (e.g.,
debug,release,asan) easily. - Dependency Management: Built-in support for
vcpkg,gitrepositories, local packages, and system libraries. - Reproducible Builds: Designed for determinism and isolation.
- Modern C++ Support: Built for C++20 and beyond.
Documentation
Getting Started
Core Concepts
- Configuration
- Profiles
- Dependencies
- Hooks
- Preprocessor & Features
- catalystignore
- Environment Variables