Skip to content

Building Akashi

stonedDiscord edited this page Dec 4, 2025 · 11 revisions

Build Instructions

If you don't want to use the CI or release builds, you can compile akashi locally using the steps below.

Requirements

  • CMake (>= 3.16 recommended)
  • A C/C++ toolchain (build-essential, MSVC, etc.)
  • Qt 6 (the CI uses 6.5.x) with the Qt WebSockets module (qtwebsockets)

Notes

  • The project is built with CMake in CI. The qmake workflow historically used in older instructions is deprecated.
  • If your distribution does not yet ship a recent Qt 6, install Qt 6 from the official Qt installer or use a tool like aqtinstall to get Qt 6.5.x or edit the CMakeList.txt file to lower the requirement (no warranty on this).

Quick common steps (recommended)

  1. Clone the repository:
git clone https://github.com/AttorneyOnline/akashi
cd akashi
  1. Create a build directory and build:
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -- -j$(nproc)

(Replace $(nproc) with an appropriate core count for compilation.)

Linux

Ubuntu/Debian (example using system packages — package names may vary by distro/version)

  • If your distro provides Qt6 packages:
sudo apt update
sudo apt install build-essential cmake qtbase6-dev qt6-tools-dev qt6-websockets-dev
  • Then build using the Quick common steps above.

OpenSUSE

sudo zypper install --type pattern devel_C_C++ devel_qt6 cmake
# then use the Quick common steps above

Arch / Manjaro

sudo pacman -Syu cmake base-devel qt6-base qt6-websockets
# then use the Quick common steps above

Gentoo

sudo emerge -av1 dev-qt/qtwebsockets dev-qt/qtcore dev-qt/qtsql cmake
# then use the Quick common steps above

Windows (MSVC)

  • Install Visual Studio with the C++ workload and CMake support.
  • Install Qt 6 (matching the architecture and MSVC version you use) and ensure the Qt tools are on PATH or that CMake can find the Qt installation.
  • From a Developer Command Prompt or with the MSVC environment initialized:
git clone https://github.com/AttorneyOnline/akashi
cd akashi
mkdir build
cd build
cmake .. -G "Visual Studio 17 2022" -A x64 -D CMAKE_BUILD_TYPE=Release
cmake --build . --config Release
  • After building, deploy Qt runtime files next to the executable (CI uses windeployqt):
# Example — adjust path to your built exe
windeployqt path\to\build\bin\akashi.exe --release --no-translations --no-compiler-runtime --no-opengl-sw

Packaging / Artifacts

  • CI uploads the built binaries/artifacts from the build output (bin/). On Linux you will find executables and libraries in the build/bin (or as produced by your CMake installation). On Windows, use windeployqt to bundle required Qt libraries.

Legacy qmake note

  • Older README instructions used qmake and Qt5. If you must build with qmake/Qt5 for legacy reasons, check out an earlier commit.

Troubleshooting

  • If cmake cannot find Qt 6, ensure the Qt installation is discoverable:
    • Set CMAKE_PREFIX_PATH to the Qt installation root (e.g. /opt/Qt/6.5.3/gcc_64)
    • Or run CMake from a shell where the Qt environment is set (Qt Creator, qtenv, or installed Qt tools)
  • On Windows, be sure to use the Qt build that matches your MSVC toolchain (e.g. MSVC2019 vs MSVC2022) and the architecture (x64).
  • If you want an identical environment to the CI, install Qt 6.5.x and use the same build steps (cmake + cmake --build). The CI uses the "aqt" installer under the hood to fetch Qt 6.5.3.

Clone this wiki locally