build(cmake): add support for out-of-tree platforms
This change introduces support for loading a JSON-format file containing
a list of platforms external to the repository, which we will call the
"platforms metadata file".
This file uses the `/properties/platforms` sub-schema of the global
metadata schema. As such, an example platforms metadata file might look
something like the following:
```json
{
"PlatformA": "path/to/platform-a",
"PlatformB": "path/to/platform-b"
}
```
The path to this file is controlled by the `TFA_METADATA_PLATFORMS_PATH`
cache variable, and is entirely optional. If a path is specified during
configuration, the file is loaded and its contents are superimposed on
the global metadata file in order to combine the platforms list. As
such, platforms loaded in by an auxiliary platforms metadata file are
treated identically to in-tree platforms.
Change-Id: Id6a1af9b8c2d5450fc4ed2cc0c965a091e7d5e1f
Signed-off-by: Chris Kay <chris.kay@arm.com>
3 files changed