Extra CMake Modules, or ECM, aims to augment CMake with additional modules. It serves as both a staging ground for new modules before they are moved upstream to CMake and a place for modules that, for whatever reason, are not a good fit for CMake itself. It is primarily driven by the needs of the KDE community, but it is hoped that other projects will find it useful, and outside contributions are always welcome. The main rule for new modules is that there must be at least two downstream users.