= fediblock-backend :showtitle: :toc: preamble :project: fediblock-backend :uri-base: https://schlomp.space/FediBlock/{project} :uri-branch-main: {uri-base}/src/branch/main :uri-gcc: https://gcc.gnu.org/ :uri-clang: https://clang.llvm.org/ :uri-cmake: https://cmake.org/ :uri-catch: https://github.com/catchorg/Catch2 :uri-dpkg: https://packages.qa.debian.org/dpkg :uri-rpm-build: http://www.rpm.org :uri-clang-tidy: https://clang.llvm.org/extra/clang-tidy/ *{project}* turns form data into JSON and opens a pull request on link:https://schlomp.space/FediBlock/data[FediBlock/data]. == Install === From source ==== Dependencies * Tested OS: Linux * C\++ compiler with C++17 support (tested: link:{uri-gcc}[GCC] 7/8/9, link:{uri-clang}[clang] 6/7) * link:{uri-cmake}[CMake] (at least: 3.9) * Optional ** Tests: link:{uri-catch}[Catch] (tested: 2.5 / 1.2) ** DEB package: link:{uri-dpkg}[dpkg] (tested: 1.19) ** RPM package: link:{uri-rpm-build}[rpm-build] (tested: 4.11) ==== Get sourcecode [source,shell] -------------------------------------------------------------------------------- git clone https://schlomp.space/FediBlock/fediblock-backend.git -------------------------------------------------------------------------------- ==== Compile [source,shell] -------------------------------------------------------------------------------- mkdir -p build && cd build cmake .. cmake --build . -- --jobs=$(nproc --ignore=1) -------------------------------------------------------------------------------- .CMake options: * `-DCMAKE_BUILD_TYPE=Debug` for a debug build. * `-DWITH_TESTS=YES` if you want to compile the tests. * `-DWITH_CLANG-TIDY=YES` to check the sourcecode with link:{uri-clang-tidy}[clang-tidy] while compiling. * One of: ** `-DWITH_DEB=YES` if you want to be able to generate a deb-package. ** `-DWITH_RPM=YES` if you want to be able to generate an rpm-package. To create a deb or rpm package, run `make package` after compiling. include::{uri-base}/raw/branch/main/CONTRIBUTING.adoc[]