Updated SharpGen to use CastXML and updated build system to use new (nuget-focused) project system.#868
Conversation
…tains the correct dimension.
…torage qualifier. Use "inline" as it is equivalent for SharpDX, for now
…writable/readable are pre-conditions
…orrect type if necessary
…and there that need to be fixed.
…). Now bindings for all APIs available as of 3/16/2017 will be generated.
… installation for the VC toolset location.
…er to CastXml. References in CastXml.cs stay because we are using the GCC-XML compatible output format.
…net45 and netstandard1.1
…DX library. Refactored some of the common properties into MSBuild .props and .targets files.
…command line flag. Modify targets and project files to utilize this flag and optimally build the code with the different APIs in a single build.
…ith the new (multi-gen) code gen process.
… info is in the .csproj and .props files)
…em (incl nuget package generation)
…tructure that generates NuGet packages in the Bin folder.
…estore would work. Added dotnet restore to the build script.
|
That's really cool, it looks amazing! Hope to have some time this week-end to go through it and merge it asap, thanks for the hard work! |
|
Maybe you could make usage of "System.Runtime.CompilerServices.Unsafe" and "System.Numerics.Vectors" and remove the InteropApp part, maybe I can submit PR too. |
|
@amerkoleci For unsafe, I would like to avoid any dependencies, specially for just getting things like sizeof. Same for System.Numerics.Vectors, as none of the SharpDX API are using maths directly, only SharpDX.Mathematics is using it and it is completely optional. |
…enerate for the correct app type.
…0.0 because of breaking backward compatibility.
|
@xoofx I've fixed the remaining issues with this PR (the SharpGen issue and NuGet artifact collection). This is ready for merge pending any review comments. And rel to the dependencies: Definitely for a different PR if at all. I feel that we should (over time) try to reduce the amount of assembly patching we have to do until we can hopefully remove SharpCli and simplify the build process (and switch to portable pdbs that work with the .NET Core debugger), and |
|
Indeed, at least replace usage with System.Runtime.CompilerServices.Unsafe would just benefit the project. Take look at this assimp .net port that replaced the Interop part with Unsafe one (https://github.com/mellinoe/assimp-net) |
|
Thanks @jkoritzinsky I'm going to have a look.
I'm curious exactly which benefits you are thinking of? The core reason of SharpCli is to patch For Vectors, |
…this is merged into master)
|
@jkoritzinsky FYI, I have started to work on it, but had a very busy week-end, hopefully should find some spare time by the end of this week. |
|
@jkoritzinsky I have merged the branch but will revisit remaining issue later (the recompile on config changed) Again, thanks a lot for this work! |
|
@xoofx I actually fixed that issue before you reviewed! |
|
Oh, cool, so I have nothing to do then, amazing! 😉 |
|
Hi Guys, first of all great job done @jkoritzinsky! I mentioned that rebuilding SharpDX in VS 2017 fails due to Rebuild target missing in SharpDXGen project. Not sure if that's an issue because Clean + Build are working fine but still good to have it IMHO. |
|
Hey can you open an issue and tag me in it so I don't forget! I'll add that when I have a chance. |
Fixes #864, #863, #844, #699.
There is one issue in this branch that needs to be fixed: SharpGen has issues regenerating if a config file changes without rebuilding SharpGen.