Installation Instructions
-------------------------

Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006 Free Software Foundation, Inc.

This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.


Pre-requisites
--------------

You will need the 'cmake' build system installed in order to build taskwarrior
from source.

Optionally, you might want to have Lua installed, if you wish to write plugins
and modify taskwarrior.


Basic Installation
------------------

Briefly, these shell commands will unpack, build and install taskwarrior:

  $ tar xzf task-X.Y.Z.tar.gz                     [1]
  $ cd task-X.Y.Z                                 [2]
  $ cmake .                                       [3]
  $ make                                          [4]
  $ make test                                     [5]
  $ sudo make install                             [6]
  $ cd .. ; rm -r task-X.Y.Z                      [7]

These commands are explained below:

  1. Unpacks the source tarball.  This creates the directory task-X.Y.Z,
     containing all the code.

  2. Change directory to the root of the distribution.

  3. Invokes cmake to scan for dependencies and machine-specific details, then
     generate the makefiles.  This may take a minute.

  4. Builds taskwarrior.  This may take a minute.

  5. Optional step that runs the unit tests.  This will take several minutes,
     during which there will be minimal feedback.  Note that thousands of tests
     are run, and some of those tests need to introduce a delay between commands
     which explains the lengthy time.  On completion, will report the number of
     passing and failing tests.  There should be zero failing tests.

  6. Installs the program, documentation and other data files.

  7. Removes the temporary directory.


Uninstallation
--------------

To uninstall taskwarrior, you need the Makefiles, so if you deleted them in
step 7 above, they must first be regenerated by following steps [1], [2] and
[3].  Then simply run:

    $ sudo make uninstall


Taskwarrior Build Notes
-----------------------

Taskwarrior 1.9 has dependencies that are detected by cmake in almost all cases,
but there are situations and operating systems that mean you will need to offer
a little help.

If taskwarrior will not build on your system, first take a look at the Operating
System notes below.  If this doesn't help, then go to the Troubleshooting
section, which includes instructions on how to contact us for help.



Operating System Notes
----------------------

Haiku Alpha/R1
  Taskwarrior must be built with gcc version 4.x, so make sure you run:

    $ setgcc gcc4

  To switch from gcc 2.95 to gcc 4.x.



Troubleshooting
---------------

In most cases, it is sufficient to run the configure program like this:

  $ ./configure

Configure will run and locate all the necessary pieces for the build, and create
a Makefile.  There may be errors and warnings when running configure, or there
may be compiler errors and warnings when running 'make'.  Sometimes you will run
configure with no reported problems, and the build will fail later.  This is
almost always because configure is mistaken about some assumption.

If a build does not succeed, please send the contents of the 'config.log' file
to support@taskwarrior.org, or post a message in the support forums at
taskwarrior.org along with the information.

If configure runs, but taskwarrior does not build, when ideally you would send
both the contents of config.log, and a transcript from the build, which is not
written to a file and must be captured from the terminal.

---
