Building Antares

To build Antares from source, follow these instructions in a terminal window:

  1. Install git and use it to create a clone of the official Antares repository:

    $ git clone https://github.com/arescentral/antares.git
    $ cd antares
    

    If you have a GitHub account, you may prefer to fork the project from its project on GitHub and then clone your fork.

  1. Configure the project:

    $ ./configure
    

    You may be missing some dependencies. If the configure script fails, then install them as instructed, and run ./configure again.

    Optional: read more about ./configure.

  2. Build:

    $ make
    

    Optional: read more about make.

  3. Play:

    $ make run
    
  4. Run the tests:

    $ make test
    

    Optional: read more about make test.

  5. (Mac only) For a release build, sign the binary:

    $ make sign
    
  6. (Linux only) Install the game:

    $ sudo make install
    

    This will install the game to /usr/local/games/antares, by default. You can choose a different location with ./configure.

Further reading

./configure

Normally, it’s sufficient to run ./configure without any arguments. However, there are some options you can pass to build Antares in different ways:

  • By default, Antares will be configured in opt mode, meaning that it will try to make the resulting binary as fast as possible. For development, you may want to use dev mode, which will try to speed up the compilation process instead:

    $ ./configure --mode=dev
    

    If you expect to use lldb with the resulting binary, you may want to use dbg mode, which compiles the binary with debugging information:

    $ ./configure --mode=dbg
    

    If in doubt, use --mode=dev if you’re planning to do development work, and use the default if you just want a more recent version of the game.

  • On Linux, the game is installed to /usr/local/games/antares by default. The --prefix argument to ./configure changes this.

    $ ./configure --prefix=/opt/antares
    

make

The make command (with no arguments) is a wrapper around ninja. You can also use ninja directly, which exposes additional options.

  • Keep building even after a failure:

    $ build/lib/bin/ninja -C out/cur -k 0
    

make test

Antares has an extensive suite of regression tests. These play through several different levels of the game to verify that the same behavior is observed for the same input.

  • If you’re running the tests frequently, running in smoke-test mode will speed up the tests:

    $ make smoke-test
    
  • There are more options if you use the wrapped script directly:

    $ make
    $ scripts/test.py --type=replay