CMake

From Armagetron
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The CMake branch implements CMake as build files generator instead of autotools.

What Works

  • Building Client OR Dedicated (DEDICATED cmake var)
  • Building Master
  • Running them in a non-outsourced build
    • Version tags
      • Releasing (RELEASE cmake var)
    • Resource sorting
  • Installing
  • Build options
    • Client OR Dedicated (DEDICATED cmake var)
    • Sound support enable/disable
    • Particle system
    • Joystick support
    • Zones v1 support
    • Zones v2 support
      • Plugins: Fortress
  • BASIC ./configure-like wrapper: only stuff for packagers:
    • --prefix (PREFIX)
    • --sysconfdir (AA_SYSCONFDIR)
    • --mandir (AA_MANDIT)
    • --enable-dedicated (DEDICATED)
    • --enable-sysinstall (SYSINSTALL)
    • --enable-games (GAMES_SUFFIX)
  • binreloc support (included)

What needs to be done/tested

  • Windows/Mac support and cross-compilation
  • Debug targets
  • Tarball'ing
  • Uninstall (optionally via a package manager)
  • Build options:
    • Respawn support
    • --enable-{useradd,etc,desktop,initscripts,restoreold,migratestate}
    • Ruby/Python support (currently exclusive?)
    • Multiple Versions
    • MAXCLIENTS
    • GLEW support
  • BASIC ./configure-like wrapper: only stuff for packagers: