This project implements a Matrix digital rain screensaver that runs within the terminal. The ncurses library is used to render the screensaver.
To build the project, you will need:
- A C++ compiler supporting C++20 features
- CMake3.13+
- ncurses dev packages
To build, navigate to the scripts/
directory and run the build script:
./build.sh
Note
build.sh
supports additional option flags for building the project docs (requires Doxygen) and unit tests. Runbuild.sh -h
to see all the options.
After the build completes, neo
will be installed to neo/bin/
.
To launch the screensaver, run the neo
binary in your terminal:
./neo
Note
neo
assumes that the host terminal has color support.
neo
has been unit tested using the GoogleTest framework in conjunction with
ctest
. Be sure to run submodule init/update or clone the repo using the
--recursive
flag to pull down GoogleTest sources.
To build the unit tests, run the build script as before with the addition of the
-t
flag:
./build.sh -t
To run the test, change directory to neo/build
and run ctest
.