1
0
mirror of https://github.com/falk-werner/webfuse synced 2024-10-27 20:34:10 +00:00
falk-werner_webfuse/doc/build.md
2020-05-25 19:55:09 +02:00

3.0 KiB

Build Instructions

To install dependencies, see below.

cd webfuse
mkdir .build
cd .build
cmake ..
make

Build options

By default, unit tests are enabled. You can disable them using the following cmake options:

  • WITHOUT_TESTS: disable tests
    cmake -DWITHOUT_TESTS=ON ..

Since webfuse consists of two libraries, it is possible to disable one of them in order to reduce build dependencies.
Note that unit tests are only available, when both libraries are built.

  • WITHOUT_ADAPTER: omit adapter library
    cmake -DWITHOUT_ADAPTER=ON

  • WIHTOUT_PROVIDER: omit provider library cmake -DWITHOUT_PROVIDER=ON

Build using Meson (experimental)

Note: Meson build support is experimental. Do not rely on it.

meson .build
cd .build
ninja build

Meson Build options

Build options can be specified during meson setup or later via meson configure.

meson -D<option>=<value> .build

The following options are available:

  • without_tests: (boolean) diable tests
    meson -Dwithout_tests=true .build

  • without_adapter: (boolean) omit adapter library
    meson -Dwithout_adapter=true .build

  • without_provider: (boolean) omit provider library meson -Dwithout_provider=true .build

Note that unit tests are only available, when both libraries are built.

Create API documentation

To create API documentation, you must install doxygen and dot first. After that, run doxygen in the project root directory.

doxygen

After that, you will find the API documentation in the doc/api subdirectory.

Dependencies

Installation from source

libfuse

To install libfuse, meson is needed. Please refer to meson quick guide for setup instructions.

wget -O fuse-3.9.1.tar.gz https://github.com/libfuse/libfuse/archive/fuse-3.9.1.tar.gz
tar -xf fuse-3.9.1.tar.gz
cd libfuse-fuse-3.9.1
mkdir .build
cd .build
meson ..
ninja
sudo ninja install

libwebsockets

wget -O libwebsockets-4.0.10.tar.gz https://github.com/warmcat/libwebsockets/archive/v4.0.10.tar.gz
tar -xf libwebsockets-4.0.10.tar.gz
cd libwebsockets-4.0.10
mkdir .build
cd .build
cmake ..
make
sudo make install

Jansson

wget -O libjansson-2.12.tar.gz https://github.com/akheron/jansson/archive/v2.12.tar.gz
tar -xf libjansson-2.12.tar.gz
cd jansson-2.12
mkdir .build
cd .build
cmake ..
make
sudo make install

GoogleTest

Installation of GoogleTest is optional webfuse library, but required to compile tests.

wget -O gtest-1.10.0.tar.gz https://github.com/google/googletest/archive/release-1.10.0.tar.gz
tar -xf gtest-1.10.0.tar.gz
cd googletest-release-1.10.0
mkdir .build
cd .build
cmake ..
make
sudo make install