Re-org linux dependencies + add headers

BlueInterlude 2025-02-27 13:04:18 -05:00
parent 1d71fdf7c1
commit b9b85cbaec

@ -1,3 +1,7 @@
<h1>Building from Source</h1>
<summary><h2>First Steps</h2></summary>
Firstly, clone the Azahar repository using the following command: Firstly, clone the Azahar repository using the following command:
``` ```
@ -68,7 +72,59 @@ Then, follow these instructions:
<details> <details>
<summary><h2>Linux</h2></summary> <summary><h2>Linux</h2></summary>
Ensure that the following are installed: Ensure that the following dependencies are installed:
<summary><h3>Arch-based</h3></summary>
```
sudo pacman -S --needed base-devel clang cmake qt6-base qt6-multimedia qt6-multimedia-ffmpeg sdl2
```
Install `libc++` from the AUR.
<summary><h3>Debian-based (Debian, Ubuntu, etc.)</h3></summary>
```
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/"
<summary><h3>Fedora-based</h3></summary>
```
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
```
<summary><h3>OpenSUSE</h3></summary>
```
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
```
<summary><h3>Dependency List</h3></summary>
- SDL2 - SDL2
- Deb: sudo apt install libsdl2-dev - Deb: sudo apt install libsdl2-dev
- Arch: pacman -S --needed sdl2 - Arch: pacman -S --needed sdl2
@ -134,8 +190,12 @@ Ensure that the following are installed:
- Fedora: dnf install cmake - Fedora: dnf install cmake
- OpenSUSE: zypper in cmake extra-cmake-modules - OpenSUSE: zypper in cmake extra-cmake-modules
<summary><h3>Compilation Steps</h3></summary>
Then, enter one of the following depending on your compiler: Then, enter one of the following depending on your compiler:
### GCC
#### GCC
``` ```
mkdir build mkdir build
cd build cd build
@ -143,7 +203,9 @@ cmake ../
cmake --build . -- -j"$(nproc)" cmake --build . -- -j"$(nproc)"
sudo make install (optional) sudo make install (optional)
``` ```
### Clang
#### Clang
``` ```
mkdir build mkdir build
cd build cd build
@ -153,9 +215,10 @@ cmake .. -DCMAKE_CXX_COMPILER=clang++ \
cmake --build . -- -j"$(nproc)" cmake --build . -- -j"$(nproc)"
sudo make install (optional) 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 distributions version of Qt is too old, there are a few places you may be able to find newer versions. If your distributions 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 This Ubuntu PPA contains backports of Qt 6 to various older versions: https://launchpad.net/~savoury1/+archive/ubuntu/qt-6-2