Do you really mean to build for/depend on/require PCL/iOS by default?
Am surprised that 'make' at the top level broke. How comes it build for,depend on,require PCL/iOS by default now?
The makefile in the root dir hasn't been updated in a very long time now, guessing this broke when #80 was merged in.
The Makefile itself is just changing arguments to xbuild for Source/SharpFont.sln, which by default builds all the included projects (iOS, Android, etc.). I'm not a makefile expert, but I'd imagine to support the new targets, you'd either have to directly build the csproj files or mess with xbuild more. Definitely open to a pull request supporting this, won't have the time to do it myself though.
Yes, I guess https://github.com/Robmaister/SharpFont/pull/80 broke it. That's a bit of a special set up - assuming one wants to, and have all the optional bits - to build all the different SharpFont build for a broad range of platforms. I'd rather the "default" does not fail (i.e. skip over targets which the current setup is not equiped to build), or fail with some more sensible messages.
BTW, fedora ships mono 4.x with the policy of not shipping binary bits, which means mono on fedora cannot build for the older 2.x/3.x framework, etc, let alone PCL and iOS. (I have a slightly customized fedora install to revert their removal of 2.x/3.x framework capability). The last time I checked SharpFont targets the older framework?
I was able to find the "sub-project" csproj to build that alone, but I wish not to do that. Also, it isn't too attractive to new devs when the top level make fails :-).
I believe with the new platforms came a move to .NET 4.0 or 4.5 (UWP also requires a newer version of .NET I think)
I haven't had much time to devote to maintaining SharpFont, and I no longer have any Linux partitions on my machines. I'd most likely have to download an ISO and spin up a VM to test this stuff out and make the changes I need.
Would be easie/quicker for someone who already has Linux and the whole environment set up to do it.
I could write a build system using FAKE? I'm more familiar with it than MAKE and I'd be happy to write the integration for it.
It would add the following files to the project:
build.cmd- build script launcher for Windows, example herebuild.sh- build script launcher for Linux/OSX and Cygwin, example herebuild.fsx- actual build script written in F#, example here.paket/paket.bootstrapper.exe- Paket is used to pull in FAKE libraries. Could also use nuget.exe here.
Some example use cases are:
> ./build.{cmd|sh}- Run the default target (usually Build)> ./build.{cmd|sh} Build mode=Release- Run the target calledBuildwith parametermode=Release
The regular way of building using Visual Studio and the solution file would remain unchanged.
This approach would add some extra files to the project root directory however, so I understand if you'd rather not clutter it up. Let me know if you think it's a good idea.
Hey all, I think it would be best to just fix up the top-level makefile to build the regular SharpFont only by default, with different targets for iOS, PCL, and all. I want to keep the build system as simple as possible. Make is essentially universal on Linux, sln/csproj the same for C# projects.