Compilation support
Opened this issue · 2 comments
FiniteReality commented
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.targets
mockup 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?
FiniteReality commented
Current code has a minimum viable product which allows using GCC-style clang to compile simple binaries, with no dependencies.
FiniteReality commented
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?