As discussed here (for the engine), cross platform builds of a game are depending on properly configured project files, i.e. Xcode and Visual Studio for PC, Mac, iOS builds.
Developing on different machines, we either have an up to date Xcode OR an up to date Visual Studio project file. Is there yet a way to synchronize them so whenever someone commits changes the project will still build on other platforms?
Our jenkins is set up to use the cocos cli tools, i.e. running
cocos compile -p (ios|mac|win32). Can someone share their setup for build automation of cocos2d-x games?
We setting up development environment same way like server. Cocos located in same folder, android sdk in same folder, ndk in same folder.
For compile we using also cocos compile command as it is much easier, after this we using shell script which pick build and uploading to hockeyapp. No issue so far except build for apple watch.
For now we not automated windows builds as we not developing for this, probably this part is pain for you.
Yes, this is pretty much the way I have things set up, after the compile I copy and archive the build artifacts.
It is actually neither windows nor mac specific which part is the pain. The problematic part is, that if a developer on a mac adds classes, the windows build won’t pick them up and vice versa. Actually, we have managed to fix the problem for the win32 build by not referencing single class files but the whole “Classes” folder. Still Xcode won’t pick up classes added in Visual Studio (or CLion, which is what one of our developers uses).
Any suggestions? Does someone have a proper Cmake setup for their projects?
In this case I think you can make in xcode reference to folder, not group. So everything added to this folder would be attached to xcode project. So agree with your team to not add classes just to Classes directory, but to subfolders and make proper setup in this case for windows development machine.