
This directory contains the new Qt-based version of the KernelShark GUI.


Third Party Software:
------------------------------------------------------------
KernelShark has the following external dependencies:
  Cmake, Json-C, OpenGL/Glut, Qt5Base.

1. In order to install the packages on Ubuntu do the following:
    sudo apt-get install build-essential git cmake libjson-c-dev -y
    sudo apt-get install freeglut3-dev libxmu-dev libxi-dev -y
    sudo apt-get install qtbase5-dev -y

1.1 I you want to be able to generate Doxygen documentation:
    sudo apt-get install graphviz doxygen-gui -y


2. In order to install the packages on Fedora, as root do the following:
    dnf install gcc gcc-c++ git cmake json-c-devel -y
    dnf install freeglut-devel redhat-rpm-config -y
    dnf install qt5-qtbase-devel -y

2.1 I you want to be able to generate Doxygen documentation:
    dnf install graphviz doxygen -y


Building:
------------------------------------------------------------
1. Follow the instructions given in trace-cmd/README and build
the original trace-cmd end traceevent libraries.

2. Do:
    cd kernel-shark/build
    cmake ../
    make

2.1.1 In order to create a Doxygen documentation add -D_DOXYGEN_DOC=1
as a CMake Command-Line option.

2.1.2 In order to generates complete debug information to be used by GDB add
-D_DEBUG=1 as a CMake Command-Line option.

2.1.3 By default, installation prefix is "/usr/local". It can be changed using
-D_INSTALL_PREFIX= as a CMake Command-Line option.

Example:
    cmake -D_DOXYGEN_DOC=1 -D_DEBUG=1 -D_INSTALL_PREFIX=/usr ../

2.2.1 Use "make clean" if you want to delete all already compiled objects.

2.2.2 Use the script "cmake_clean.sh" if you want to delete all already
compiled objects and all files generated by CMake.

3. After building the code "kernel-shark/lib" will contain all libraries
and "kernel-shark/bin" will contain all executables.
