mirror-chatterino2/BUILDING_ON_LINUX.md
nerix 189be8c68f
chore: remove old Qt 5.12 code, update docs and FreeBSD runner (#5396)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
2024-06-23 12:26:59 +00:00

2 KiB

Linux

For all dependencies below we use Qt 6. Our minimum supported version is Qt 5.15.2, but you are on your own.

Install dependencies

Ubuntu

Building on Ubuntu requires Docker.

Use https://github.com/Chatterino/docker/pkgs/container/chatterino2-build-ubuntu-20.04 as your base if you're on Ubuntu 20.04.

Use https://github.com/Chatterino/docker/pkgs/container/chatterino2-build-ubuntu-22.04 if you're on Ubuntu 22.04.

The built binary should be exportable from the final image & able to run on your system assuming you perform a static build. See our build.yml GitHub workflow file for the CMake line used for Ubuntu builds.

Debian 12 (bookworm) or later

sudo apt install qt6-base-dev qt6-5compat-dev qt6-svg-dev qt6-image-formats-plugins libboost1.81-dev libssl-dev cmake g++ git

Arch Linux

sudo pacman -S --needed qt6-base qt6-tools boost-libs openssl qt6-imageformats qt6-5compat qt6-svg boost rapidjson pkgconf openssl cmake

Alternatively you can use the chatterino2-git package to build and install Chatterino for you.

Fedora 39 and above

Most likely works the same for other Red Hat-like distros. Substitute dnf with yum.

sudo dnf install qt6-qtbase-devel qt6-qtimageformats qt6-qtsvg-devel qt6-qt5compat-devel g++ git openssl-devel boost-devel cmake

NixOS 18.09+

nix-shell -p openssl boost qt6.full pkg-config cmake

Compile

Manually

  1. In the project directory, create a build directory and enter it
    mkdir build
    cd build
    
  2. Generate build files. To enable Lua plugins in your build add -DCHATTERINO_PLUGINS=ON to this command.
    cmake -DBUILD_WITH_QT6=ON -DBUILD_WITH_QTKEYCHAIN=OFF ..
    
  3. Build the project
    cmake --build .
    

Through Qt Creator

  1. Install C++ IDE Qt Creator by using sudo apt install qtcreator (Or whatever equivalent for your distro)
  2. Open CMakeLists.txt with Qt Creator and select build