Difference between revisions of "CMake"

From Armagetron
(updated)
(updated, removed stuff that wasn't needed)
Line 10: Line 10:
 
* Installing
 
* Installing
 
* Build options
 
* Build options
 
+
** Client OR Dedicated (DEDICATED cmake var)
 
* BASIC ./configure-like wrapper: only stuff for packagers:
 
* BASIC ./configure-like wrapper: only stuff for packagers:
 
**--prefix (PREFIX)
 
**--prefix (PREFIX)
Line 16: Line 16:
 
**--mandir (AA_MANDIT)
 
**--mandir (AA_MANDIT)
 
**--enable-dedicated (DEDICATED)
 
**--enable-dedicated (DEDICATED)
**--enable-sysinstall
+
**--enable-sysinstall (SYSINSTALL)
**--enable-games
+
**--enable-games (GAMES_SUFFIX)
  
  
Line 24: Line 24:
 
* Debug targets
 
* Debug targets
 
* Tarball'ing
 
* Tarball'ing
 +
* binreloc support (included)
 +
* Uninstall (optionally via a package manager)
 
* Build options:
 
* Build options:
 
**Sound support enable/disable
 
**Sound support enable/disable
Line 29: Line 31:
 
**Joystick support
 
**Joystick support
 
**Respawn support
 
**Respawn support
**Authentication support
 
 
**Zones v1 support
 
**Zones v1 support
 
**Zones v2 support
 
**Zones v2 support
 
***Plugins: Fortress, <more to come>...
 
***Plugins: Fortress, <more to come>...
**--enable-{sysinstall,useradd,etc,desktop,initscripts,restoreold,migratestate}
+
**--enable-{useradd,etc,desktop,initscripts,restoreold,migratestate}
 
**Ruby/Python support (currently exclusive?)
 
**Ruby/Python support (currently exclusive?)
**Uninstall (optionally via a package manager)
 
 
**Multiple Versions
 
**Multiple Versions
**binreloc support
 
 
**MAXCLIENTS
 
**MAXCLIENTS
 
**GLEW support
 
**GLEW support
**FTGL support
 
 
* BASIC ./configure-like wrapper: only stuff for packagers:
 
* BASIC ./configure-like wrapper: only stuff for packagers:
 
** http://repos.archlinux.org/wsvn/community/armagetronad/repos/community-i686/PKGBUILD
 
** http://repos.archlinux.org/wsvn/community/armagetronad/repos/community-i686/PKGBUILD
 
** --enable-multiver, --disable-useradd, --disable-etc, --disable-initscripts
 
** --enable-multiver, --disable-useradd, --disable-etc, --disable-initscripts

Revision as of 14:39, 23 January 2010

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)
  • 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)


What needs to be done/tested

  • Windows/Mac support and cross-compilation
  • Debug targets
  • Tarball'ing
  • binreloc support (included)
  • Uninstall (optionally via a package manager)
  • Build options:
    • Sound support enable/disable
    • Particle system
    • Joystick support
    • Respawn support
    • Zones v1 support
    • Zones v2 support
      • Plugins: Fortress, <more to come>...
    • --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: