Thursday, March 11, 2010

Bringing cmake to libtcod - Almost there...

From my original list:

  • Build the example programs
  • Add back opengl support
  • Test linux (and mac if I can get ahold of one) builds.
  • Seperate C and CPP libraries for linux.
  • Install build stuff to root directory
  • A list of nice to have.
  • Documentation! Quickstart guide!
  • Work on issues provided by and try to convince maintainers of libtcod that cmake is better.
Ignoring the mac build, which I still don't have, I only have the "nice things to have" (upx, electric fence), documentation, and some cleaning up to do.

CMakeLists.txt is now 160 163 lines of text so far. Compared to 1209 lines of makefiles it's doing the job of, its currently 7 1/2 times shorter. It is also one place to update the new/deleted files, as opposed to 8 makefiles + a codeblocks project that exists somewhere.

Assuming upx and friends don't take forever, I'm figuring one more good afternoon is all it will take to get a passable build done.

Update: Scratch electric fence, it was a 3 liner over breakfast.

6 comments:

Jotaf said...

This is coming along nicely! Good work :D

Jotaf said...

BTW, can CMake create project files for XCode? Because then I'd finally be able to play Brogue :)

donblas said...

Jotaf - Yes, yes, yes. In theory, if I setup the right knobs xcode will build libtcod. The major issue is that I don't have a mac to set things up. If you'd like to help, let me know.

jice said...

Good news ! Michael De Rosa is back with an upcoming 1.5.1 OSX port. He could probably provide some help on the evil.. err.. apple side of things :D

donblas said...

jice, if you could put him in contact w\ me or vice versa, I'm sure him using cmake to port libtcod would be easier for him. I'd love to have osx support but I don't have a mac and you can't vmware it :(.

jice said...

I sent him the CMake thread URL. Dunno if he will have time for us though, he seems rather busy. OTOH, I still haven't found time to integrate his fixes in the svn makefiles, so...