Build Process & Development Guide
This guide explains how to build the Cake Planner Backend from source and how to package it as an AppImage.
Table of Contents
Prerequisites
The project requires a modern Linux environment with C++23 support.
System Requirements
- Linux: (Ubuntu 24.04 recommended)
- CMake: 3.23+
- Compiler: GCC 13+ or Clang 16+ (Must support C++23).
- Build System: CMake 3.24 or newer.
- Dependencies:
- Qt6: Modules
Core,Sql,Gui. - OpenSSL:
libssl-dev. - Git, Make, wget (for fetching resources).
- Qt6: Modules
Installing Dependencies (Ubuntu/Debian)
sudo apt update
sudo apt install build-essential cmake git
sudo apt install qt6-base-dev libqt6sql6-sqlite libssl-dev
Building from Source
The project uses CMake as its build system.
- Clone the Repository:
git clone https://github.com/Zheng-Bote/cake-planner-backend.git
cd cake-planner-backend
- Create a Build Directory:
mkdir build
cd build
- Configure the Project:
cmake ..
Note: Dependencies like Crow, spdlog, etc., are automatically fetched via CMake FetchContent.
- Compile:
make -j$(nproc)
- Run:
./CakePlanner
creating an AppImage
The project includes a script to package the application as a standalone AppImage.
Script: create_appimage.sh
This script automates the following steps:
- Rebuilds the project in
Releasemode. - Creates an
AppDirstructure. - Copies binaries, icons, and
.desktopfiles. - Downloads
linuxdeployand theqt-plugin. - Generates the final
.AppImagefile.
Usage
Run the script from the project root:
chmod +x create_appimage.sh
./create_appimage.sh
Result
After successful execution, you will find CakePlanner-x86_64.AppImage in the root directory. You can run it directly:
./CakePlanner-x86_64.AppImage
Note: AppImages require FUSE to run. On newer Ubuntu versions (22.04+), you might need to install
libfuse2:sudo apt install libfuse2