CMaize Conventions
This section describes the conventions to be followed when developing for CMaize. Since CMaize is based on CMakePPLang, an object-oriented extension to the CMake language, CMaize developers should follow the same conventions set forth by the CMakePPLang conventions, unless otherwise specified here.
Namespaces
The CMakePPLang uses the prefixes cpp_, _cpp_, and __cpp_ to
specify namespaces to specify public API, protected, and private commands,
as well as CMAKEPP_LANG_, _CMAKEPP_LANG_, and __CMAKEPP_LANG_ for
for variables in the same scopes. CMaize adopts a similar convention, using
the prefixes cmaize_, _cmaize_, and __cmaize_ for commands and
CMAIZE_, _CMAIZE_, and __CMAIZE_ for variables.
Note that commands in native CMake (as well as CMakePPLang) are
case-insensitive, so the CMAIZE_ prefix on a command is still the same
namespace as cmaize_. However, variables are case-sensitive, so care needs
to be taken not to overlap variables and commands with the same names.