Documentation link
We believe that the development of build systems should follow the same software engineering best practices as traditional source code. One such best practice is the DRY ("Don't Repeat Yourself") principle. Most build systems written in CMake are extremely verbose and boilerplate heavy. CMaize was developed to facilitate writing CMake build systems which adhere to the DRY principle.
- Minimize boilerplate. CMake is verbose, CMaize isn't.
- Pure CMake. CMaize is written using the CMake programming language which means you have access to every feature CMake provides in addition to those provided by CMaize itself.
- Automatically keep up with CMake's ever changing best practices. CMaize provides a stable API and maintains the mapping from that API to CMake's current best practices.
- Seamlessly integrate targets that rely on languages not supported by CMake. Currently limited to Python, but can be extended.
If you are using CMaize as part of your project's build system it is recommended that you set up your build system to automatically fetch CMaize. See here for more details.
This research was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.
Additional funding has come for Iowa State University through the College of Liberal Arts & Sciences Dean’s Professor Chair.