C++ native app to test HTTP endpoints
Postbaby-Demo-1.mp4
- CMake
- OpenGL (with supporting drivers)
- CMake supported C++ Compiler
- Python 3 (to generate GL bindings)
- pip (for pre-commit)
You also need the dev libraries for OpenSSL
installed.
sudo apt-get install libx11-dev xorg-dev libglu1-mesa-dev libssl-dev
- Windows systems need the Visual Studio environment setup with the necessary files for C++ development. If required, you need to run
vcvarsall.bat x64
Windows has been configured to use WINSSL
git clone https://github.com/theProgrammerDavid/PostBaby.git
- Create a
build
folder andcd
into that, and runcmake -DCMAKE_BUILD_TYPE=Release ..
for a Release build with the build system of choice. - The
DCURL_CA_BUNDLE
flag is passed as a temp fix on some Linux systems - Configuring CMake might take a while initially as it is downloading dependencies
- Once configured, build it using the selected build system. On *nix systems you can use
make -j$(nproc)
- The built binary will be in
${PostBaby_ROOT}/build/src/PostBaby
-
We need the following packages installed
clang clang-format clang-tidy uncrustify cppcheck iwyu
-
We also need to install
pre-commit
using pip
pip install pre-commit && pre-commit install
- Pre-commit hooks will run per commit
git clone https://github.com/theProgrammerDavid/PostBaby.git && \
cd PostBaby && \
mkdir build && \
cd build && \
export PATH="/usr/local/opt/openssl/bin:$PATH" && \
CXX=clang++ CC=clang cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
git clone https://github.com/theProgrammerDavid/PostBaby.git && \
cd PostBaby && \
mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE=Release -DCURL_CA_BUNDLE="./cacert.pem" .. && \
make -j$(nproc) && \
sudo make install
sudo make install
will add it to your system and application launcher You can also usecpack -C Release
to build the package for your OS (.deb
for Debian derivatives)
Initialize your cmd with
vcvarsall.bat x64
git clone https://github.com/theProgrammerDavid/PostBaby.git && \
cd PostBaby && \
mkdir build && \
cd build && \
cmake .. && \
MSBuild.exe /m /p:Configuration=Release PostBaby.sln
cpack -C Release
On Windows, the config files are stored in %APPDATA%\PostBaby
On Linux and MacOS, the config files are stored in $HOME/.config/PostBaby
Library | URL |
---|---|
ImGui | https://github.com/ocornut/imgui |
Glew | https://glew.sourceforge.net |
GLFW | https://github.com/glfw/glfw |
Curl For People | https://github.com/whoshuu/cpr |
Glad | https://github.com/Dav1dde/glad.git |
tidy-html5 | https://github.com/htacg/tidy-html5 |
Nlohmann JSON | https://github.com/nlohmann/json |
SQLiteCPP | https://github.com/SRombauts/SQLiteCpp |
spdlog | https://github.com/gabime/spdlog |