Skip to content

Developer Documentation

Berend Weel edited this page Apr 22, 2021 · 1 revision

Developer documentation

UPDATE: See Readme file in the repository

Non-functional Requirements

Clinical personnel should be able to easily use the viewer in the hospital. Preferably it should not take a lot of time to set-up the software to view and process patient data.

We should deliver a binary installable file that works on any operative system: Windows, Mac and Linux.

System requirements to run the project locally

Versions

C++ 17

Qt 5.15

LLVM 11.1

clang 11.1

clang-format - Google style

AStyle

VTK 9

  • Install LLVM for your machine to be able to run cmake, VTK, and Qt 5.15.2

    • Mac:
      • brew install llvm@11
      • brew install cmake
      • you may need to install xcode-select --install
      • brew install vtk
      • brew install qt@5.15.2

      You may need to run the following in order to make CMake find qt

      brew link --force qt@5 sudo ln -s /usr/local/Cellar/qt@5/5.15.2/mkspecs /usr/local/mkspecs sudo ln -s /usr/local/Cellar/qt@5/5.15.2/plugins /usr/local/plugins
  • Install QT Creator on your machine (Optional)

    IDE: QT Creator is not needed. But it comes with several handy tool that can help with development.

    https://www.qt.io/download-thank-you You may need to create an account.

Run locally (steps):

  • C++ project

  • mkdir build # Create build folder if (add it to git if possible)

  • cd build # and follow the sequential steps inside the build folder

    cmake .., if you have different version on you computer you can specify the installation path of qt5 with

    cmake -DCMAKE_PREFIX_PATH="/usr/local/opt/qt5" .. # this will create a 'make' inside the build folder for your computer

    ./src/eshmun

  • make # Creates the binary compiled version

  • ./eshmun

Installation instructions on linux

LLVM and clang 11:

Linux & WSL2:
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 11

sudo apt-get install clang-format-11
sudo apt-get install clang-tidy-11

curl [https://gist.githubusercontent.com/junkdog/70231d6953592cd6f27def59fe19e50d/raw/92f0e73d2558402b7316021c1ab408b30e534de6/update-alternatives-clang.sh](https://gist.githubusercontent.com/junkdog/70231d6953592cd6f27def59fe19e50d/raw/92f0e73d2558402b7316021c1ab408b30e534de6/update-alternatives-clang.sh) > update-alternatives-clang.sh
chmod u+x update-alternatives-clang.sh
sudo ./update-alternatives-clang.sh 11 1