This adds two methods for handling executing shells async. The notification
has been reworked to use this method so there is less blocking. A callback
can be passed to the handler method for various actions on the exit status
of the script execution.
This patch adds tracking of the build process's status code. This allows us
to respond to the build process within the program much easier. Also added
a simple API for desktop notification of the build process and its exit code
which is useful and pretty.
In the process we needed to define if a project can be run...
Python and rust can always be run as they will build their binaries
whereas make and cmake need to be configured etc...
Add ability to build a cmake project. This specifically makes a new build directory in the base directory for building, as that is the recommended cmake strategy.
and the widget rendering.
Use this in EDI to add a test summarising panel.
Tests are executed in verbose mode so we can list
all the tests that have been run - can summarise
later if we wish...