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

92 lines
2.3 KiB
Markdown
Raw Normal View History

2020-02-18 20:48:52 +00:00
# Build Instructions
2020-06-09 15:46:10 +00:00
To build webfuse from source, meson is needed.
Please refer to [meson quick guide](https://mesonbuild.com/Quick-guide.html) for setup instructions.
2020-05-25 17:55:09 +00:00
meson .build
cd .build
ninja build
2020-06-09 15:46:10 +00:00
## Build options
2020-05-25 17:55:09 +00:00
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`
2020-05-25 17:55:09 +00:00
_Note that unit tests are only available, when both libraries are built._
2020-02-18 20:48:52 +00:00
## 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
- [libfuse3](https://github.com/libfuse/libfuse/)
- [libwebsockets](https://libwebsockets.org/)
- [Jansson](https://jansson.readthedocs.io)
- [GoogleTest](https://github.com/google/googletest) *(optional)*
### Installation from source
#### libfuse
2020-06-15 16:26:31 +00:00
wget -O fuse-3.9.2.tar.gz https://github.com/libfuse/libfuse/archive/fuse-3.9.2.tar.gz
tar -xf fuse-3.9.2.tar.gz
cd libfuse-fuse-3.9.2
2020-02-18 20:48:52 +00:00
mkdir .build
cd .build
meson ..
ninja
sudo ninja install
#### libwebsockets
2020-05-24 06:31:59 +00:00
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
2020-02-18 20:48:52 +00:00
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