Friday, December 14, 2012

CMake build system for libobjc

Discussions on using CMake to build libobjc with the following advantages:
  • Correctly installs in a GNUstep location if one exists, or in a system location otherwise. This is configurable at build time.
  • Provides inspectable options for all of the configuration choices (run ccmake to see them all)
  • Easily supports cross-compilation and out-of-tree builds
  • Is easy to extend and inspect
  • Automatically builds the LLVM optimisations (which already use CMake, as it's the only clean way of building LLVM optimisations out of tree) and can be easily configured not to if they are not required.
  • Will build a single libobjc.so for platforms that provide a separate C++ runtime and a separate libobjcxx for ones that don't.
  • Can generate build files for make, ninja, XCode, Eclipse, and Visual Studio