diff --git a/Building-from-Source.md b/Building-from-Source.md index b751d45..a8d6fcb 100644 --- a/Building-from-Source.md +++ b/Building-from-Source.md @@ -1,3 +1,7 @@ +

Building from Source

+ +

First Steps

+ Firstly, clone the Azahar repository using the following command: ``` @@ -68,7 +72,59 @@ Then, follow these instructions:

Linux

-Ensure that the following are installed: +Ensure that the following dependencies are installed: + +

Arch-based

+ +``` +sudo pacman -S --needed base-devel clang cmake qt6-base qt6-multimedia qt6-multimedia-ffmpeg sdl2 +``` + +Install `libc++` from the AUR. + +

Debian-based (Debian, Ubuntu, etc.)

+ +``` +sudo apt install build-essential clang clang-format cmake jackd libasound-dev libgl-dev libpipewire-0.3-dev libsndio-dev \ + libssl-dev libsdl2-dev libx11-dev libxext-dev qt6-base-dev qt6-base-private-dev qt6-l10n-tools qt6-multimedia-dev \ + qt6-tools-dev qt6-tools-dev-tools xorg-dev +``` + +**Optional** + +echo "esound requires build from source: https://download.gnome.org/sources/esound/" + +

Fedora-based

+ +``` +sudo dnf install clang cmake gcc-c++ jack-audio-connection-kit-devel libX11-devel libXext-devel \ + openssl-devel pipewire-devel portaudio-devel qt6-qtbase-devel qt6-qtbase-private-devel \ + qt6-qtmultimedia-devel SDL2-devel xorg-x11-server-devel +``` + +**Optional** + +``` +sudo dnf -y copr enable andykimpe/shadow && sudo dnf -y install sndio +sudo dnf install esound-devel +``` + +

OpenSUSE

+ + +``` +sudo zypper in clang cmake gcc-c++ libX11-devel libXext-devel libSDL2-devel libjack-devel openssl-devel \ + pipewire-devel portaudio-devel qt6-base qt6-multimedia xorg-x11-util-devel +``` + +**Optional** + +``` +sudo zypper in libesd0-devel sndio-devel +``` + +

Dependency List

+ - SDL2 - Deb: sudo apt install libsdl2-dev - Arch: pacman -S --needed sdl2 @@ -134,8 +190,12 @@ Ensure that the following are installed: - Fedora: dnf install cmake - OpenSUSE: zypper in cmake extra-cmake-modules +

Compilation Steps

+ Then, enter one of the following depending on your compiler: -### GCC + +#### GCC + ``` mkdir build cd build @@ -143,7 +203,9 @@ cmake ../ cmake --build . -- -j"$(nproc)" sudo make install (optional) ``` -### Clang + +#### Clang + ``` mkdir build cd build @@ -153,9 +215,10 @@ cmake .. -DCMAKE_CXX_COMPILER=clang++ \ cmake --build . -- -j"$(nproc)" sudo make install (optional) ``` -If you get a weird compile error related to std::span conversions, make sure you are using clang and libc++ 15 or up. This is an issue with libc++ 14. +If you get a compile error related to std::span conversions, make sure you are using clang and libc++ 15 or up. This is an issue with libc++ 14. + +#### Installing newer Qt Version -### Installing newer Qt Version If your distribution’s version of Qt is too old, there are a few places you may be able to find newer versions. This Ubuntu PPA contains backports of Qt 6 to various older versions: https://launchpad.net/~savoury1/+archive/ubuntu/qt-6-2