Frei0r can be built using CMake.
Minimum toolchain expectations:
- C compiler
- C++ compiler with C++11 support (required)
- CMake
- Ninja or Make
The presence of optional libraries on the system will trigger compilation of extra plugins. These libraries are:
-
Gavl required for scale0tilt and vectorscope filters
-
OpenCV required for facebl0r filter
-
Cairo required for cairo- filters and mixers
-DWITHOUT_FACERECOGNITION=ON- Disable face recognition plugins (facedetect and facebl0r) to avoid protobuf conflicts with applications like MLT
It is recommended to use a separate build sub-folder.
cmake -S . -B build
cmake --build build
To disable face recognition plugins (recommended when using with MLT):
cmake -S . -B build -DWITHOUT_FACERECOGNITION=ON
cmake --build build
Ninja and nmake are also supported through CMake:
cmake -S . -B build -G 'Ninja'
cmake -S . -B build -G 'NMake Makefiles'
Top-level shorthand targets are available through GNUmakefile:
make release-gcc-ninja
make debug-gcc
Runtime test utilities:
cd test
make frei0r-asan # builds ./frei0r-run with ASAN
make check # loads and runs all built plugins under ../build/src
make frei0r-meta
make scan-meta