Installation Instructions ------------------------- Please follow the instructions below to build and install tasksh from source. Dependencies ------------ You will need the CMake build system installed in order to build tasksh from source. Information on cmake can be obtained at http://cmake.org Additionally, you will need: libreadline Basic Installation ------------------ Briefly, these shell commands will unpack, build and install Tasksh: $ tar xzf tasksh-X.Y.Z.tar.gz [1] $ cd tasksh-X.Y.Z [2] $ cmake -DCMAKE_BUILD_TYPE=release . [3] $ make [4] $ sudo make install [5] $ cd .. ; rm -r tasksh-X.Y.Z [6] These commands are explained below: 1. Unpacks the source tarball. This creates the directory tasksh-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. Requests an optimized build, which will run faster and be more compact. This may take a minute. 4. Builds tasksh. This may take a minute. 5. Installs the program, documentation and other data files. 6. Removes the temporary directory. Build and configurations options -------------------------------- You can customize the configuration run with cmake variables. This will modify the installation process: To change the installation directory you use the following configuration variable: $ cmake -DCMAKE_INSTALL_PREFIX= . cmake configuration variables are applied with the -D option and consist of a and a : $ cmake -D= . Four more variables can customize the installation process. The following table lists them and their defaults plus the CMAKE_INSTALL_PREFIX: CMAKE_INSTALL_PREFIX /usr/local TASKSH_BINDIR bin TASKSH_DOCDIR share/doc/tasksh TASKSH_MAN1DIR share/man/man1 The corresponding TASKSH_* variables will be combined with CMAKE_INSTALL_PREFIX to get absolute installation directories: CMAKE_INSTALL_PREFIX/TASKSH_BINDIR /usr/local/bin CMAKE_INSTALL_PREFIX/TASKSH_DOCDIR /usr/local/share/doc/tasksh CMAKE_INSTALL_PREFIX/TASKSH_MAN1DIR /usr/local/share/man/man1 Uninstallation -------------- There is no uninstall option in CMake makefiles. This is a manual process. To uninstall Tasksh, remove the files listed in the install_manifest.txt file that was generated when you built Tasksh. Tasksh Build Notes ----------------------- Tasksh 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 Tasksh 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 ---------------------- Cygwin If 'make install' fails when writing to the /usr/local/share/ directory, this may be because your current login doesn't have permission to write to the Windows directory containing your Cygwin installation. Either login to Windows as an Administrator and try the 'make install' process again, or reinstall Cygwin under your normal Windows login. Troubleshooting --------------- If you've recently made changes to dependencies (by reinstalling them, for example) be sure to rerun 'cmake .' before trying to execute 'make' again. CMake will run and locate all the necessary pieces for the build, and create a Makefile. There may be errors and warnings when running CMake, or there may be compiler errors and warnings when running 'make'. Sometimes you will run CMake with no reported problems, and the build will fail later. This is almost always because CMake is mistaken about some assumption. If a build does not succeed, please send the contents of the 'CMakeCache.txt' and 'CMakeFiles/CMakeOutput.log' files to support@taskwarrior.org. If CMake runs but tasksh does not build, please send the contents of the above files as well as a transcript from the build, which is not written to a file and must be captured from the terminal. ---