On Ubuntu (20.04/22.04), the dependencies can be installed with the command:
sudo apt -y install qtbase5-dev libqt5svg5-dev libqt5websockets5-dev \
libqt5opengl5-dev libqt5x11extras5-dev libprotoc-dev libzmq3-dev \
liblz4-dev libzstd-dev
On Fedora:
sudo dnf install qt5-qtbase-devel qt5-qtsvg-devel qt5-websockets-devel \
qt5-qtopendl-devel qt5-qtx11extras-devel
Clone the repository into ~/plotjuggler_ws:
git clone https://github.com/facontidavide/PlotJuggler.git ~/plotjuggler_ws/src/PlotJuggler
cd ~/plotjuggler_ws
Then compile using cmake (qmake is NOT supported):
cmake -S src/PlotJuggler -B build/PlotJuggler -DCMAKE_INSTALL_PREFIX=install
cmake --build build/PlotJuggler --config RelWithDebInfo --target install
If you want to use conan to manage the dependencies, follow this instructions instead.
conan install src/PlotJuggler --install-folder build/PlotJuggler \
--build missing -pr:b=default
export CMAKE_TOOLCHAIN=$(pwd)/build/PlotJuggler/conan_toolchain.cmake
cmake -S src/PlotJuggler -B build/PlotJuggler \
-DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN \
-DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW
cmake --build build/PlotJuggler --config RelWithDebInfo --target install
Compile and install as described earlier.
Download (once) linuxdeploy:
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
chmod +x linuxdeploy*.AppImage
mkdir -p AppDir/usr/bin
Then:
cd src/PlotJuggler;export VERSION=$(git describe --abbrev=0 --tags);cd -
echo $VERSION
cp -v install/bin/* AppDir/usr/bin
./linuxdeploy-x86_64.AppImage --appdir=AppDir \
-d ./src/PlotJuggler/PlotJuggler.desktop \
-i ./src/PlotJuggler/plotjuggler.png \
--plugin qt --output appimage
docker buildx build -o . .
On Mac, the dependencies can be installed using brew with the following command:
brew install cmake qt@5 protobuf mosquitto zeromq zstd
If you have multiple versions of Qt installed (e.g., qt
and qt@5
), you may need to explicitly link qt@5
to ensure it is found by CMake. Use the following commands:
brew link qt@5 --overwrite
#In case needed and still qt@5 was not found by cmake you can do:
brew unlink qt@5 && brew link --force qt@5
# brew link qt --overwrite # Run once you are done building to restore the original linking
Add CMake into your env-vars to be detected by cmake
echo 'QT_HOME=$(brew --prefix qt@5) \
export CPPFLAGS="-I $QT_HOME/include" \
export PKG_CONFIG_PATH="$QT_HOME/lib/pkgconfig" \
export LDFLAGS="$QT_HOME/lib"' >> $HOME/.zshrc
If you don't want to permanently add them into your main file, you can try by just exporting locally in the current terminal with:
QT_HOME=$(brew --prefix qt@5)
export CPPFLAGS="-I $QT_HOME/include"
export PKG_CONFIG_PATH="$QT_HOME/lib/pkgconfig"
export LDFLAGS="$QT_HOME/lib"
Clone the repository into ~/plotjuggler_ws:
git clone https://github.com/PX4/PlotJuggler.git ~/plotjuggler_ws/src/PlotJuggler
cd ~/plotjuggler_ws
Then compile using cmake:
cmake -S src/PlotJuggler -B build/PlotJuggler -DCMAKE_INSTALL_PREFIX=install
cmake --build build/PlotJuggler --config RelWithDebInfo --target install
Dependencies in Windows are managed either using conan or vcpkg
The rest of this section assumes that you installed You need to install first Qt and git.
Visual studio 2019 (16), that is part of the Qt 5.15.x installation, will be used to compile PlotJuggler.
Start creating a folder called plotjuggler_ws and cloning the repo:
cd \
mkdir plotjuggler_ws
cd plotjuggler_ws
git clone https://github.com/facontidavide/PlotJuggler.git src/PlotJuggler
Note: the Arrow/Parque plugin is not supported in Conan. Use vcpkg instead, if you need that specific plugin.
conan install src/PlotJuggler --install-folder build/PlotJuggler ^
--build=missing -pr:b=default
set CMAKE_TOOLCHAIN=%cd%/build/PlotJuggler/conan_toolchain.cmake
cmake -G "Visual Studio 16" ^
-S src/PlotJuggler -B build/PlotJuggler ^
-DCMAKE_TOOLCHAIN_FILE=%CMAKE_TOOLCHAIN% ^
-DCMAKE_INSTALL_PREFIX=%cd%/install ^
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW
cmake --build build/PlotJuggler --config Release --target install
Change the path where vcpkg.cmake can be found as needed.
set CMAKE_TOOLCHAIN=/path/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake -G "Visual Studio 16" ^
-S src/PlotJuggler -B build/PlotJuggler ^
-DCMAKE_TOOLCHAIN_FILE=%CMAKE_TOOLCHAIN% ^
-DCMAKE_INSTALL_PREFIX=%cd%/install
cmake --build build/PlotJuggler --config Release --target install
Change the Qt and QtInstallerFramework version as needed.
xcopy src\PlotJuggler\installer installer\ /Y /S /f /z
xcopy install\bin\*.* installer\io.plotjuggler.application\data /Y /S /f /z
C:\QtPro\5.15.16\msvc2019_64\bin\windeployqt.exe --release installer\io.plotjuggler.application\data\plotjuggler.exe
C:\QtPro\Tools\QtInstallerFramework\4.6\bin\binarycreator.exe --offline-only -c installer\config.xml -p installer PlotJuggler-Windows-installer.exe