C++ and the Tale of the build cycle

Somehow, I can’t shake the feeling, that C++ developers just aren’t lazy enough.

Every other modern language, I have programmed in recently, has a pretty healthy supporting environment around it. The best example here is Java, which makes it very easy, to Unit-Test, do rapid deployment and continuous integration, using such powerful tools as Maven, JUnit or Hudson (which for idiotic political reasons is now called Jenkins).

The C++ world however looks rather dull in comparison. If you leave out all the tools, that are just eye-candy of specific IDEs (because those could not be used on a build server) you are left with just a handful of build tools from the dark ages of programming.

  • Most C++ Projects out there, still use make or AutoMake, which work but do so only, if you are willing to invest a truckload of time in your build cycle.
  • Most of the rest uses CMake, which seems to be a bit more dynamic and sophisticated then AutoMake, but still needs serious commitment and requires you to craft every single build cycle for every singe application you write anew.

Continue reading

Ogre3d on MacOS and Eclipse -An epic journey

To start doing something useful with my Mac, I started putting it to work in game development.
First thing on the agenda: Find a suitable Graphics Engine, that would compile on the Mac and the PC and ideally be able to run on iOS too, so I won’t have to learn a second Graphics Engine, when developing for iOS.

Ogre and Irrlicht both seemed to be good candidates.

After initially looking through some sample code and the specs, Irrlicht got 2 Points over Ogre, because I liked the API a bit better and it could handle almost any resource format. Meaning, that I could throw Blender files, Images and Textures right at it, without converting them into an Engine-specific format.

Ogre on the other hand has a much more active community, better Sample and Tutorial features on it’s wiki (BIG Plus). What really sold it to me though, was an official support for iOS, that doesn’t exist on Irrlicht.

So Ogre it is then.
Continue reading