Difference between revisions of "CMake Evaluation"

From reSIProcate
Jump to navigation Jump to search
Line 2: Line 2:
== Update ==
== Update ==
Work has been started in this branch [b-cmake-experiment|https://svn.resiprocate.org/viewsvn/resiprocate/branches/b-cmake-experiment/].
Work has been started in this branch [https://svn.resiprocate.org/viewsvn/resiprocate/branches/b-cmake-experiment/ b-cmake-experiment].
== Objectives ==
== Objectives ==

Revision as of 16:31, 19 January 2014


Work has been started in this branch b-cmake-experiment.


  • keep Windows builds in sync with UNIX builds without requiring developers to build on both platforms
  • use of a standardized build mechanism (autotools is also fairly standard, but we should not migrate to something bespoke simply to solve the sync issue)
  • direct build from the repository (eliminating the "bootstrap" step required with autotools)
    • this also means repository snapshots can be used as release tarballs, without running make dist or any other bootstrapping commands, simplifying the release and packaging processes


  • Some WebRTC projects are built with the Google build tool, gyp - it appears to have similar aims and benefits as CMake

Quick evaluation

Full project details

  • Evaluate all build variables and settings from existing and past build systems
    • see BuildSystem.txt for a summary of build variables completed in 2012
    • that document needs to be updated with anything new from configure.ac
  • investigate and test suitability of CMake for more obscure builds, for example, the build of libraries for use with Android and JNI and also OpenWRT
  • update rutil, make sure it builds and test cases run
    • must work on the following platforms:
      • Linux
      • Windows
      • Android
  • proceed to resip/stack and resip/dum, make sure they build and test cases run
  • then do reTurn
  • finally do the remaining stuff: recon, tfm, all the stuff under apps
  • may skip some of the incomplete stuff: presSvr, p2p