I'm currently working on automating as many build processes as possible. I then stumbled upon some questions that I want to ask.
I have my plugins' sources located at a network shared folder to be accessible via SMB to a MacOS VM. However, that leads to symlink issues, so I have to modify the build output path in the buildconfig to be local. That's okay, but is there any information avialable to avoid that? I'd like to keep everything inside this shared folder.
Compatibility: How do you maintain a single codebase when keeping your plugins up-to-date (e.g. R16-R20 Win/Mac). I was thinking about using macros, but that probably leads to clutter and more complexity that I want to avoid. Another approach is simply to rewrite functions in question, but that creates a lot of "overhead" due to rather duplicate code. The last thing that comes into my mind is to use some sort of wrapper and use simple macro switches. Are there any best practices available?
Automating: I've currently setup a MacOS VM that contains Cinema 4D installations to be able to compile my plugins. So I have to run XCode to compile my plugin for Mac. I'd like to automate this process of course. I was thinking about having some sort of daemon process that watches specific folders and automatically fires up xcodebuild and starts building if the content changed. How do you guys handle this?