Finite.Cpp.Sdk
Finite.Cpp.Sdk copied to clipboard
Compilation support
Because this would be totally useless without this! :)
Overall idea so far is to separate compile and link into separate steps to allow incremental builds. Tasks under src/Tasks/ roughly follow this.
Open questions:
- How do we expose compiler options to the user?
-
NativeCXX.targetsmockup from Thermite has very platform-dependent options - But if we expose platform-independent options (e.g.
<StandardVersion>c++17</StandardVersion>we'd need some database mapping these options)
-
- Reproducible/deterministic builds? (Super stretch goal)
- How do we want to use "standard" MSBuild properties?
- How do we reflect these in #2 for packaging?
Current code has a minimum viable product which allows using GCC-style clang to compile simple binaries, with no dependencies.
Windows support has been added. For consistency, the Microsoft extensions have been disabled for now. We can investigate this later - maybe a <LanguageExtensions>microsoft</LanguageExtensions> property?