Currently, platform support structured as an hierarchy. E.g.:
aarch64 | +- darwin +- linux ...
In fact, architectures, os'es, and compiler form a matrix. Keeping this information as an hierarchy leads to duplication, copy-paste code, and out of sync configurations.
Solution:
Refactor platforms and architectures support in CMake scrips to remove the hierarchical dependencies.