Browse Source

Build notices

Jonas Pflanzer 4 years ago
parent
commit
6e6cf373e1
1 changed files with 78 additions and 0 deletions
  1. 78 0
      README.md

+ 78 - 0
README.md

@@ -33,3 +33,81 @@ After the file transmission finished F can downlod the file with his/her client.
 
 ## Encryption
 E and F can decide to use a common key for symmetrical encryption. Files will be encrypted on the client side so the servers cannot read the files as plain data. The covert channel does not add another encryption-layer so it's encouraged to use this feature.
+
+## Dependencies
+- libtins >=4.2
+- Jsoncpp
+- Boost >=1.70
+- GNU Readline
+- OpenSSL
+- Qt5 (Core, Quick, Widgets)
+
+### Dependencies for testing
+- GTest
+- GMock
+
+### Installing dependencies on Ubuntu
+Packages to install after minimal Ubuntu 19.10 installation:
+```
+sudo apt install qtdeclarative5-dev libboost-all-dev libjsoncpp-dev libreadline-dev libpcap-dev build-essential qml-module-qt-labs-platform libssl-dev
+```
+
+(NOTE: because of bug in jsoncpp, in the file size field of the gui, all numbers after the decimal point are displayed as 0. This bug occurs in version 1.7.4 and is fixed in 1.9.1 (or possibly earlier))
+
+#### Install libtins
+```
+mkdir libtins
+cd libtins
+git clone https://github.com/mfontanini/libtins.git
+sudo apt-get install libpcap-dev libssl-dev cmake
+cd libtins
+mkdir build
+cd build
+cmake ../ -DLIBTINS_ENABLE_CXX11=1
+make
+sudo make install
+sudo ldconfig
+```
+
+#### Install boost
+```
+mkdir boost
+cd boost
+wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz
+tar -xf boost_1_72_0.tar.gz
+cd boost_1_72_0
+./bootstrap.sh
+./b2
+sudo ./b2 install
+```
+
+#### Build and install googletest
+```
+git clone https://github.com/google/googletest.git
+cd googletest
+mkdir build
+cd build
+cmake ..
+make
+make install
+cd ../..
+rm -rf googletest
+```
+
+## Build
+CMake is used as build system. It should check which dependency is missing and tell you.
+
+```
+mkdir build
+cd build
+cmake ..
+make
+```
+
+### Build with tests
+```
+mkdir build
+cd build
+cmake .. -DENABLE_TESTS=true
+make
+```