浏览代码

Build notices

Jonas Pflanzer 4 年之前
父节点
当前提交
6e6cf373e1
共有 1 个文件被更改,包括 78 次插入0 次删除
  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
+```