Right now their is no way to build mscorlib on UNIX based systems.We should explore the options that we have to support building mscorlib on UNIX and adopt the best one.
some constraints
- We will need mono's C# compiler at least in the best case, but if we go with creating visual studio projects using cmake we will have to use mono's xbuild too.
- cmake does not support C#. Although it can create visual studio projects for C++ , supporting C# in those projects needs some hacking.
- If we are to create visual studio project using cmake and hack it for C# we probably should be creating visual studio 2010 projects because mono's xbuild does not seem to play nice with visual studio 2013 projects.
Suggestions
The best way that i think of would be to create cmake modules for C# support, some people and projects have done it already and it is not that difficult either
for example https://github.com/awakecoding/CMakeSharp
Mono projects also use their C# extensions for the make build system. But those are for make.
This solution has some advantages
- we will only need mono's mcs which is almost feature complete and avoid xbuild which is very buggy.
- we will be able to replace mono's mcs with roslyn if in future it became available on UNIX and completely remove mono dependency from the UNIX build but that is a long term solution of course.
Update
Msbuild has been open sourced and it is going to be availabe xplat(will run on mono for now) and their are also efforts underway from some time now to run roslyn xplat on coreclr/mono too.
So it looks like currently this issue is swinging in the direction of msbuild+roslyn+mono.
Right now their is no way to build mscorlib on UNIX based systems.We should explore the options that we have to support building mscorlib on UNIX and adopt the best one.
some constraints
Suggestions
The best way that i think of would be to create cmake modules for C# support, some people and projects have done it already and it is not that difficult either
for example https://github.com/awakecoding/CMakeSharp
Mono projects also use their C# extensions for the make build system. But those are for make.
This solution has some advantages
Update
Msbuild has been open sourced and it is going to be availabe xplat(will run on mono for now) and their are also efforts underway from some time now to run roslyn xplat on coreclr/mono too.
So it looks like currently this issue is swinging in the direction of msbuild+roslyn+mono.