Create a single place to store target data to prevent duplication.
This moves `targetType` and `targetLabels` out of the snippet files
and into a target map in the `cmakeContent` file referenced by each
snippet.
Fixes: #27244
We were writing "-deps" alias in the generated file
even if we didn't have any dependencies, which is excessive
and makes FASTBuild do more work then necessary.
Two optimizations here:
1. Remove non-mandatory aliases (I only used them for debugging).
2. Make objects lists' name shorter
Both of those improvements contribute to the decrease of the FASTBuild DB file, since they are getting serialized.
List of changes:
1. Remove unneeded aliases
2. Don't write VS Solution on Apple
3. Use external script to perform clean
4. Fix small bug when empty environment was
resulting in invalid file.
It greatly reduces the size of .fdb file and
makes FASTBuild run much faster in different cases.
Compilation is complicated. Caching / distribution is even more
complicated. Sometimes there are bugs (in compilers as well as in
FASTBuild), so export the option to disable those features for CMake
targets.
Fix `ApplyLinkRuleLauncher()` to apply `RULE_LAUNCH_COMPILE`.
Remove ApplyCompileRuleLauncher since it's not used and `RULE_LAUNCH_COMPILE` is handled in `AddCompilerLaunchersForLanguages()`
Fixes: #27183