From a0b4694546f5e9d07da9e98615ccabfb9a8698a2 Mon Sep 17 00:00:00 2001 From: lizzie Date: Fri, 17 Oct 2025 07:14:28 +0000 Subject: [PATCH] almalinux fixes Signed-off-by: lizzie --- .gitignore | 7 ++++--- docs/CPMUtil.md | 3 +++ docs/Deps.md | 31 ++++++++++++++++++++++++------- src/qt_common/CMakeLists.txt | 6 +++--- 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index dfceb4776d..0886224d8d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,10 +10,11 @@ doc-build/ AppDir/ uruntime -dtrace-output/ -dtrace-out/ -log.txt +# dtrace and ktrace stuffs +[dk]trace-out/ +[dk]trace.out *.core +log.txt # Generated source files src/common/scm_rev.cpp diff --git a/docs/CPMUtil.md b/docs/CPMUtil.md index 779515ae7e..5015c4139c 100644 --- a/docs/CPMUtil.md +++ b/docs/CPMUtil.md @@ -8,6 +8,9 @@ Eden-specific options: - `YUZU_USE_CPM` is set by default on MSVC and Android. Other platforms should use this if certain "required" system dependencies (e.g. OpenSSL) are broken or missing * If this is `OFF`, required system dependencies will be searched via `find_package`, although most externals use CPM regardless. +- Force system libraries via CMake arguments: + * SDL2: `YUZU_USE_BUNDLED_SDL2` and `YUZU_USE_EXTERNAL_SDL2` + * FFmpeg: `YUZU_USE_EXTERNAL_FFMPEG` ## Tooling diff --git a/docs/Deps.md b/docs/Deps.md index 44755a8bda..3e76a2432e 100644 --- a/docs/Deps.md +++ b/docs/Deps.md @@ -110,18 +110,25 @@ sudo apt-get install autoconf cmake g++ gcc git glslang-tools libasound2t64 libb
-Fedora Linux +AlmaLinux, Fedora, Red Hat Linux +Fedora: ```sh -sudo dnf install autoconf ccache cmake fmt-devel gcc{,-c++} glslang hidapi-devel json-devel libtool libusb1-devel libzstd-devel lz4-devel nasm ninja-build openssl-devel pulseaudio-libs-devel qt6-linguist qt6-qtbase{-private,}-devel qt6-qtwebengine-devel qt6-qtmultimedia-devel speexdsp-devel wayland-devel zlib-devel ffmpeg-devel libXext-devel +sudo dnf install autoconf cmake fmt-devel gcc{,-c++} glslang hidapi-devel json-devel libtool libusb1-devel libzstd-devel lz4-devel nasm ninja-build openssl-devel pulseaudio-libs-devel qt6-linguist qt6-qtbase{-private,}-devel qt6-qtwebengine-devel qt6-qtmultimedia-devel speexdsp-devel wayland-devel zlib-devel ffmpeg-devel libXext-devel boost jq ``` -* Force system libraries via CMake arguments: - * SDL2: `-DYUZU_USE_BUNDLED_SDL2=OFF -DYUZU_USE_EXTERNAL_SDL2=OFF` - * FFmpeg: `-DYUZU_USE_EXTERNAL_FFMPEG=OFF` -* [RPM Fusion](https://rpmfusion.org/) is required for `ffmpeg-devel` +AlmaLinux (use `YUZU_USE_CPM=ON`): +```sh +# vvv - Only if RPMfusion is not installed or EPEL isn't either +sudo dnf install epel-release dnf-utils +# (run rpmfusion installation afterwards) +# vvv - This will work for most systems +sudo dnf install autoconf cmake libtool libudev cmake gcc gcc-c++ qt6-qtbase-devel zlib-devel openssl-devel boost SDL2 ffmpeg-devel libdrm glslang jq patch +``` + +* [RPM Fusion](https://rpmfusion.org/Configuration) is required for `ffmpeg-devel` * Fedora 32 or later is required. -* Fedora 36+ users with GCC 12 need Clang and should configure CMake with: +* Fedora 36+ users with GCC 12 need Clang and should configure CMake with: `cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -B build`
@@ -209,6 +216,16 @@ Then install the libraries: `sudo pkg install qt6 boost glslang libzip library/l * `echo 'PATH=$(readlink -e /c/VulkanSDK/*/Bin/):$PATH' >> ~/.bashrc`
+
+RedoxOS + +```sh +sudo pkg update && sudo pkg install git cmake +sudo pkg install ffmpeg6 sdl2 zlib llvm18 +``` + +
+ ## All Done You may now return to the **[root build guide](Build.md)**. diff --git a/src/qt_common/CMakeLists.txt b/src/qt_common/CMakeLists.txt index a8206b8345..edd31a1e6f 100644 --- a/src/qt_common/CMakeLists.txt +++ b/src/qt_common/CMakeLists.txt @@ -74,9 +74,9 @@ if (NOT APPLE AND ENABLE_OPENGL) endif() if (UNIX AND NOT APPLE) - if (TARGET Qt6::GuiPrivate) - target_link_libraries(qt_common PRIVATE Qt6::GuiPrivate) - else() + if (DEFINED Qt6Gui_PRIVATE_INCLUDE_DIRS) target_include_directories(qt_common PRIVATE ${Qt6Gui_PRIVATE_INCLUDE_DIRS}) + else() + target_link_libraries(qt_common PRIVATE Qt6::GuiPrivate) endif() endif()