Multi-platform deployment?
-
Certainly - at very least it's unusual to have to build for Android on an Android machine. You just use a cross compiler on you Win/Linux/Mac desktop or build server. The same idea applies generally. You can build a gcc that targets any platform, that runs on any platform. So, you can install a gcc on your Linux box that builds Windows binaries, for example.
That said, you can't confidently run tests to see how it works on the other platform without using that platform. You can run Windows binaries under WINE on Linux, which is great. But you can't really be certain that your deployment is really correct for Windows 7/8/10 and there isn't anything different from "real" Windows vs. the fake environment.
The normal way to handle multiplatform builds is to set up build servers for the various platforms that watch your repository and do a build whenever you check in a change. Then you can see if you broke the build on some platform. Jenkinds is pretty well known for that sort of thing, but there are a lot of tools and services.
-
Hi and welcome to devnet,
You can build projects for Android on any of the three desktop OS.
For iOS and OS X, an OS X machine is mandatory.
For Windows, you can cross-compile from Linux to Windows as long as you don't need any native API or library that's not available for MinGW.