- CMake 3.0 or later
- gcc 7.0 or later, clang 6.0 or later, or a compiler with full C++17 support
- libuuid (if not on macOS)
- python 3 (optional, for running the test suite)
- Rust 1.64.0 or higher (hint: use https://rustup.rs/ instead of using your system's package manager)
$ git clone --recursive https://github.com/GothenburgBitFactory/taskwarrior taskwarrior.git
$ cd taskwarrior.git
$ git checkout develop # Latest dev branch
$ git submodule init # This is now done by cmake as a test
$ git submodule update # Update the libhsared.git submodule
$ cmake -DCMAKE_BUILD_TYPE=debug . # debug or release. Default: neither
$ make VERBOSE=1 -j4 # Shows details, builds using 4 jobs
# Alternately 'export MAKEFLAGS=-j 4'
This will build several executables, but the one you want is probably src/task
.
When you make changes, just run the last line again.
First switch to the test directory:
$ cd test
Then you can run all tests, showing details, with
$ make VERBOSE=1
Alternately, run the tests with the details hidden in all.log
:
$ ./run_all
Either way, you can get a summary of any test failures with:
$ ./problems
Note that any development should be performed using a git clone, and the current development branch. The source tarballs do not reflect HEAD, and do not contain the test suite. Follow the GitHub flow for creating a pull request.