I've been using CMake for years when developing in C++ using Visual Studio. My directory layout has always seen me separate source code directories from build directories. For those who are not convinced of the merits of this approach, there are a few, such as easier versioning (everything that needs to be versioned goes under one directory), and easier reproduction of build system settings, among others.
I'm new to Xamarin, so not sure what tools are out there that can achieve this end result. Not sure if CMake itself is capable of doing this. I know that it's possible to use CMake to achieve this result with Objective-C projects in Xcode, as I've done this in the past. So while I know it's pretty flexible, I haven't found anything when searching for its capabilities with Xamarin/VS. A Google search for "Visual Studio Xamarin CMake" produces nothing useful (as far as I can tell). I've also had a look at couple Xamarin guides (such as https://developer.xamarin.com/guides/cross-platform/xamarin-studio/build-system/), but again, nothing useful as far as I can tell.
Some features I would like to have:
- Separate source editable files from binary ones, such that there is one top-level directory that contains all editable files and no binary ones.
- Be able to define a separate directory for build output such as
bin/, that would contain debug and release versions for all the various platforms.
- Be able to set NuGet package locations from a config file.