This guide uses Homebrew for installation of dependencies. You may instead manually install them if you wish. Experience with the CLI is expected and that common development tools (make, git, a C++ compiler) are pre-installed (they may also be installed through Homebrew).
- Install zstd, jsoncpp and sha1sum dependencies using
brew install zstd jsoncpp md5sha1sum
- Get the current jsoncpp version using
brew info jsoncpp | head -n 1
jsoncpp
will be installed with a different path to/usr/local/include
than the fpp source code is importing. Create a symlink usingln -s /usr/local/Cellar/jsoncpp/CURRENT_JSONCPP_VERSION/include/ /usr/local/include/jsoncpp/
- Test the symlink was successfully created using
ls /usr/local/include/ | grep jsoncpp
- Clone the
FalconChristmas/fpp
repository withgit clone https://github.com/FalconChristmas/fpp
- Move into the cloned source code directory with
cd fpp/src/
- Build the
fppversion.c
andfppversion_defines.h
files by executing thefppversion.sh
script withsh fppversion.sh .
- Validate the files were generated using
cat fppversion.c && cat fppversion_defines.h
fpp uses a common precompiled header (fpp-pch.h
) which includes more dependencies than necessary. Edit fpp-pch.h
and comment out all includes except for the following:
unistd.h
fppversion.h
log.h
Warnings.h
Execute make fsequtils
in the src/
directory to compile the binary. If successful, it will produce a fsequtils
executable. Libraries are dynamically linked so you must keep the zstd
and jsoncpp
dependencies installed while you intend to use the fsequtils
binary. md5sha1sum
is only required for compiling and may be removed.