Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d1bb8af7e |
1985 changed files with 67046 additions and 100348 deletions
|
|
@ -7,7 +7,7 @@
|
||||||
EXCLUDE_FILES="CPM.cmake CPMUtil.cmake GetSCMRev.cmake renderdoc_app.h tools/cpm tools/shellcheck.sh tools/update-cpm.sh tools/windows/vcvarsall.sh externals/stb externals/glad externals/getopt externals/gamemode externals/FidelityFX-FSR externals/demangle externals/bc_decoder externals/cmake-modules"
|
EXCLUDE_FILES="CPM.cmake CPMUtil.cmake GetSCMRev.cmake renderdoc_app.h tools/cpm tools/shellcheck.sh tools/update-cpm.sh tools/windows/vcvarsall.sh externals/stb externals/glad externals/getopt externals/gamemode externals/FidelityFX-FSR externals/demangle externals/bc_decoder externals/cmake-modules"
|
||||||
|
|
||||||
# license header constants, please change when needed :))))
|
# license header constants, please change when needed :))))
|
||||||
YEAR=$(date "+%Y")
|
YEAR=2026
|
||||||
HOLDER="Eden Emulator Project"
|
HOLDER="Eden Emulator Project"
|
||||||
LICENSE="GPL-3.0-or-later"
|
LICENSE="GPL-3.0-or-later"
|
||||||
|
|
||||||
|
|
@ -112,10 +112,10 @@ for file in $FILES; do
|
||||||
[ "$excluded" = "true" ] && continue
|
[ "$excluded" = "true" ] && continue
|
||||||
|
|
||||||
case "$file" in
|
case "$file" in
|
||||||
*.cmake|*.sh|*.ps1|*.py|*.rb|*.perl|*.pl|*.nix|*CMakeLists.txt)
|
*.cmake|*.sh|*CMakeLists.txt)
|
||||||
begin="#"
|
begin="#"
|
||||||
;;
|
;;
|
||||||
*.kt|*.kts|*.cpp|*.h|*.qml|*.c|*.hpp|*.hxx|*.cxx|*.h.in|*.inc)
|
*.kt*|*.cpp|*.h|*.qml)
|
||||||
begin="//"
|
begin="//"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
@ -185,12 +185,11 @@ if [ "$UPDATE" = "true" ]; then
|
||||||
|
|
||||||
for file in $SRC_FILES $OTHER_FILES; do
|
for file in $SRC_FILES $OTHER_FILES; do
|
||||||
case $(basename -- "$file") in
|
case $(basename -- "$file") in
|
||||||
# Windows Powershell wont use shebangs
|
*.cmake|*CMakeLists.txt)
|
||||||
*.cmake|*.ps1|*CMakeLists.txt)
|
|
||||||
begin="#"
|
begin="#"
|
||||||
shell="false"
|
shell="false"
|
||||||
;;
|
;;
|
||||||
*.sh|*.py|*.rb|*.perl|*.pl|*.nix)
|
*.sh)
|
||||||
begin="#"
|
begin="#"
|
||||||
shell=true
|
shell=true
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
116
.ci/linux/build.sh
Executable file
116
.ci/linux/build.sh
Executable file
|
|
@ -0,0 +1,116 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
amd64 | "")
|
||||||
|
echo "Making amd64-v3 optimized build of Eden"
|
||||||
|
ARCH="amd64_v3"
|
||||||
|
ARCH_FLAGS="-march=x86-64-v3"
|
||||||
|
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=v3)
|
||||||
|
;;
|
||||||
|
steamdeck | zen2)
|
||||||
|
echo "Making Steam Deck (Zen 2) optimized build of Eden"
|
||||||
|
ARCH="steamdeck"
|
||||||
|
ARCH_FLAGS="-march=znver2 -mtune=znver2"
|
||||||
|
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=zen2 -DYUZU_SYSTEM_PROFILE=steamdeck)
|
||||||
|
;;
|
||||||
|
rog-ally | allyx | zen4)
|
||||||
|
echo "Making ROG Ally X (Zen 4) optimized build of Eden"
|
||||||
|
ARCH="rog-ally-x"
|
||||||
|
ARCH_FLAGS="-march=znver4 -mtune=znver4"
|
||||||
|
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=zen2 -DYUZU_SYSTEM_PROFILE=steamdeck)
|
||||||
|
;;
|
||||||
|
legacy)
|
||||||
|
echo "Making amd64 generic build of Eden"
|
||||||
|
ARCH=amd64
|
||||||
|
ARCH_FLAGS="-march=x86-64 -mtune=generic"
|
||||||
|
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=generic)
|
||||||
|
;;
|
||||||
|
aarch64)
|
||||||
|
echo "Making armv8-a build of Eden"
|
||||||
|
ARCH=aarch64
|
||||||
|
ARCH_FLAGS="-march=armv8-a -mtune=generic -w"
|
||||||
|
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=generic)
|
||||||
|
;;
|
||||||
|
armv9)
|
||||||
|
echo "Making armv9-a build of Eden"
|
||||||
|
ARCH=armv9
|
||||||
|
ARCH_FLAGS="-march=armv9-a -mtune=generic -w"
|
||||||
|
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=armv9)
|
||||||
|
;;
|
||||||
|
native)
|
||||||
|
echo "Making native build of Eden"
|
||||||
|
ARCH="$(uname -m)"
|
||||||
|
ARCH_FLAGS="-march=native -mtune=native"
|
||||||
|
export EXTRA_CMAKE_FLAGS=(-DYUZU_BUILD_PRESET=native)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid target $1 specified, must be one of native, amd64, steamdeck, zen2, allyx, rog-ally, zen4, legacy, aarch64, armv9"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
export ARCH_FLAGS="$ARCH_FLAGS -O3"
|
||||||
|
|
||||||
|
if [ -z "$NPROC" ]; then
|
||||||
|
NPROC="$(nproc)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" != "" ]; then shift; fi
|
||||||
|
|
||||||
|
if [ "$TARGET" = "appimage" ]; then
|
||||||
|
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DCMAKE_INSTALL_PREFIX=/usr -DYUZU_ROOM=ON -DYUZU_ROOM_STANDALONE=OFF -DYUZU_CMD=OFF)
|
||||||
|
else
|
||||||
|
# For the linux-fresh verification target, verify compilation without PCH as well.
|
||||||
|
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DYUZU_USE_PRECOMPILED_HEADERS=OFF)
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$DEVEL" != "true" ]; then
|
||||||
|
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" -DENABLE_UPDATE_CHECKER=ON)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$USE_WEBENGINE" = "true" ]; then
|
||||||
|
WEBENGINE=ON
|
||||||
|
else
|
||||||
|
WEBENGINE=OFF
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$USE_MULTIMEDIA" = "false" ]; then
|
||||||
|
MULTIMEDIA=OFF
|
||||||
|
else
|
||||||
|
MULTIMEDIA=ON
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$BUILD_TYPE" ]; then
|
||||||
|
export BUILD_TYPE="Release"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export EXTRA_CMAKE_FLAGS=("${EXTRA_CMAKE_FLAGS[@]}" $@)
|
||||||
|
|
||||||
|
mkdir -p build && cd build
|
||||||
|
cmake .. -G Ninja \
|
||||||
|
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
|
||||||
|
-DENABLE_QT_TRANSLATION=ON \
|
||||||
|
-DUSE_DISCORD_PRESENCE=ON \
|
||||||
|
-DCMAKE_CXX_FLAGS="$ARCH_FLAGS" \
|
||||||
|
-DCMAKE_C_FLAGS="$ARCH_FLAGS" \
|
||||||
|
-DYUZU_USE_BUNDLED_QT=OFF \
|
||||||
|
-DYUZU_USE_BUNDLED_SDL2=OFF \
|
||||||
|
-DYUZU_USE_EXTERNAL_SDL2=ON \
|
||||||
|
-DYUZU_TESTS=OFF \
|
||||||
|
-DYUZU_USE_QT_MULTIMEDIA=$MULTIMEDIA \
|
||||||
|
-DYUZU_USE_QT_WEB_ENGINE=$WEBENGINE \
|
||||||
|
-DYUZU_USE_FASTER_LD=ON \
|
||||||
|
-DENABLE_LTO=ON \
|
||||||
|
"${EXTRA_CMAKE_FLAGS[@]}"
|
||||||
|
|
||||||
|
ninja -j${NPROC}
|
||||||
|
|
||||||
|
if [ -d "bin/Release" ]; then
|
||||||
|
strip -s bin/Release/*
|
||||||
|
else
|
||||||
|
strip -s bin/*
|
||||||
|
fi
|
||||||
250
.ci/linux/eden.dwfsprof
Normal file
250
.ci/linux/eden.dwfsprof
Normal file
|
|
@ -0,0 +1,250 @@
|
||||||
|
AppRun
|
||||||
|
eden.desktop
|
||||||
|
dev.eden_emu.eden.desktop
|
||||||
|
shared/bin/eden
|
||||||
|
shared/lib/lib.path
|
||||||
|
shared/lib/ld-linux-x86-64.so.2
|
||||||
|
shared/lib/libQt6Widgets.so.6.4.2
|
||||||
|
shared/lib/libQt6DBus.so.6.4.2
|
||||||
|
shared/lib/libudev.so.1.7.5
|
||||||
|
shared/lib/libbrotlienc.so.1.0.9
|
||||||
|
shared/lib/libbrotlidec.so.1.0.9
|
||||||
|
shared/lib/libssl.so.3
|
||||||
|
shared/lib/libcrypto.so.3
|
||||||
|
shared/lib/libavcodec.so.59.37.100
|
||||||
|
shared/lib/libavutil.so.57.28.100
|
||||||
|
shared/lib/libQt6Gui.so.6.4.2
|
||||||
|
shared/lib/libQt6Core.so.6.4.2
|
||||||
|
shared/lib/libstdc++.so.6.0.30
|
||||||
|
shared/lib/libm.so.6
|
||||||
|
shared/lib/libgcc_s.so.1
|
||||||
|
shared/lib/libc.so.6
|
||||||
|
shared/lib/libdbus-1.so.3.32.4
|
||||||
|
shared/lib/libbrotlicommon.so.1.0.9
|
||||||
|
shared/lib/libswresample.so.4.7.100
|
||||||
|
shared/lib/libvpx.so.7.1.0
|
||||||
|
shared/lib/libwebpmux.so.3.0.10
|
||||||
|
shared/lib/libwebp.so.7.1.5
|
||||||
|
shared/lib/liblzma.so.5.4.1
|
||||||
|
shared/lib/libdav1d.so.6.6.0
|
||||||
|
shared/lib/librsvg-2.so.2.48.0
|
||||||
|
shared/lib/libgobject-2.0.so.0.7400.6
|
||||||
|
shared/lib/libglib-2.0.so.0.7400.6
|
||||||
|
shared/lib/libcairo.so.2.11600.0
|
||||||
|
shared/lib/libzvbi.so.0.13.2
|
||||||
|
shared/lib/libz.so.1.2.13
|
||||||
|
shared/lib/libsnappy.so.1.1.9
|
||||||
|
shared/lib/libaom.so.3.6.0
|
||||||
|
shared/lib/libcodec2.so.1.0
|
||||||
|
shared/lib/libgsm.so.1.0.19
|
||||||
|
shared/lib/libjxl.so.0.7.0
|
||||||
|
shared/lib/libjxl_threads.so.0.7.0
|
||||||
|
shared/lib/libmp3lame.so.0.0.0
|
||||||
|
shared/lib/libopenjp2.so.2.5.0
|
||||||
|
shared/lib/libopus.so.0.8.0
|
||||||
|
shared/lib/librav1e.so.0.5.1
|
||||||
|
shared/lib/libshine.so.3.0.1
|
||||||
|
shared/lib/libspeex.so.1.5.2
|
||||||
|
shared/lib/libSvtAv1Enc.so.1.4.1
|
||||||
|
shared/lib/libtheoraenc.so.1.1.2
|
||||||
|
shared/lib/libtheoradec.so.1.1.4
|
||||||
|
shared/lib/libtwolame.so.0.0.0
|
||||||
|
shared/lib/libvorbis.so.0.4.9
|
||||||
|
shared/lib/libvorbisenc.so.2.0.12
|
||||||
|
shared/lib/libx264.so.164
|
||||||
|
shared/lib/libx265.so.199
|
||||||
|
shared/lib/libxvidcore.so.4.3
|
||||||
|
shared/lib/libva.so.2.1700.0
|
||||||
|
shared/lib/libmfx.so.1.35
|
||||||
|
shared/lib/libva-drm.so.2.1700.0
|
||||||
|
shared/lib/libva-x11.so.2.1700.0
|
||||||
|
shared/lib/libvdpau.so.1.0.0
|
||||||
|
shared/lib/libX11.so.6.4.0
|
||||||
|
shared/lib/libdrm.so.2.4.0
|
||||||
|
shared/lib/libOpenCL.so.1.0.0
|
||||||
|
shared/lib/libEGL.so.1.1.0
|
||||||
|
shared/lib/libfontconfig.so.1.12.0
|
||||||
|
shared/lib/libxkbcommon.so.0.0.0
|
||||||
|
shared/lib/libGLX.so.0.0.0
|
||||||
|
shared/lib/libOpenGL.so.0.0.0
|
||||||
|
shared/lib/libpng16.so.16.39.0
|
||||||
|
shared/lib/libharfbuzz.so.0.60000.0
|
||||||
|
shared/lib/libmd4c.so.0.4.8
|
||||||
|
shared/lib/libfreetype.so.6.18.3
|
||||||
|
shared/lib/libicui18n.so.72.1
|
||||||
|
shared/lib/libicuuc.so.72.1
|
||||||
|
shared/lib/libdouble-conversion.so.3.1
|
||||||
|
shared/lib/libb2.so.1.0.4
|
||||||
|
shared/lib/libpcre2-16.so.0.11.2
|
||||||
|
shared/lib/libzstd.so.1.5.4
|
||||||
|
shared/lib/libsystemd.so.0.35.0
|
||||||
|
shared/lib/libsoxr.so.0.1.2
|
||||||
|
shared/lib/libcairo-gobject.so.2.11600.0
|
||||||
|
shared/lib/libgdk_pixbuf-2.0.so.0.4200.10
|
||||||
|
shared/lib/libgio-2.0.so.0.7400.6
|
||||||
|
shared/lib/libxml2.so.2.9.14
|
||||||
|
shared/lib/libpangocairo-1.0.so.0.5000.12
|
||||||
|
shared/lib/libpango-1.0.so.0.5000.12
|
||||||
|
shared/lib/libffi.so.8.1.2
|
||||||
|
shared/lib/libpcre2-8.so.0.11.2
|
||||||
|
shared/lib/libpixman-1.so.0.42.2
|
||||||
|
shared/lib/libxcb-shm.so.0.0.0
|
||||||
|
shared/lib/libxcb.so.1.1.0
|
||||||
|
shared/lib/libxcb-render.so.0.0.0
|
||||||
|
shared/lib/libXrender.so.1.3.0
|
||||||
|
shared/lib/libXext.so.6.4.0
|
||||||
|
shared/lib/libhwy.so.1.0.3
|
||||||
|
shared/lib/liblcms2.so.2.0.14
|
||||||
|
shared/lib/libogg.so.0.8.5
|
||||||
|
shared/lib/libnuma.so.1.0.0
|
||||||
|
shared/lib/libpthread.so.0
|
||||||
|
shared/lib/libXfixes.so.3.1.0
|
||||||
|
shared/lib/libX11-xcb.so.1.0.0
|
||||||
|
shared/lib/libxcb-dri3.so.0.1.0
|
||||||
|
shared/lib/libGLdispatch.so.0.0.0
|
||||||
|
shared/lib/libexpat.so.1.8.10
|
||||||
|
shared/lib/libgraphite2.so.3.2.1
|
||||||
|
shared/lib/libicudata.so.72.1
|
||||||
|
shared/lib/libgomp.so.1.0.0
|
||||||
|
shared/lib/libcap.so.2.66
|
||||||
|
shared/lib/libgcrypt.so.20.4.1
|
||||||
|
shared/lib/liblz4.so.1.9.4
|
||||||
|
shared/lib/libgmodule-2.0.so.0.7400.6
|
||||||
|
shared/lib/libjpeg.so.62.3.0
|
||||||
|
shared/lib/libmount.so.1.1.0
|
||||||
|
shared/lib/libselinux.so.1
|
||||||
|
shared/lib/libpangoft2-1.0.so.0.5000.12
|
||||||
|
shared/lib/libfribidi.so.0.4.0
|
||||||
|
shared/lib/libthai.so.0.3.1
|
||||||
|
shared/lib/libXau.so.6.0.0
|
||||||
|
shared/lib/libXdmcp.so.6.0.0
|
||||||
|
shared/lib/libgpg-error.so.0.33.1
|
||||||
|
shared/lib/libblkid.so.1.1.0
|
||||||
|
shared/lib/libdatrie.so.1.4.0
|
||||||
|
shared/lib/libbsd.so.0.11.7
|
||||||
|
shared/lib/libmd.so.0.0.5
|
||||||
|
shared/lib/libvulkan.so.1.3.239
|
||||||
|
share/vulkan/icd.d/intel_hasvk_icd.x86_64.json
|
||||||
|
shared/lib/libvulkan_intel_hasvk.so
|
||||||
|
shared/lib/libwayland-client.so.0.21.0
|
||||||
|
shared/lib/libxcb-present.so.0.0.0
|
||||||
|
shared/lib/libxcb-xfixes.so.0.0.0
|
||||||
|
shared/lib/libxcb-sync.so.1.0.0
|
||||||
|
shared/lib/libxcb-randr.so.0.1.0
|
||||||
|
shared/lib/libxshmfence.so.1.0.0
|
||||||
|
share/vulkan/icd.d/intel_icd.x86_64.json
|
||||||
|
shared/lib/libvulkan_intel.so
|
||||||
|
share/vulkan/icd.d/lvp_icd.x86_64.json
|
||||||
|
shared/lib/libvulkan_lvp.so
|
||||||
|
shared/lib/libLLVM-15.so.1
|
||||||
|
shared/lib/libedit.so.2.0.70
|
||||||
|
shared/lib/libz3.so.4
|
||||||
|
shared/lib/libtinfo.so.6.4
|
||||||
|
share/vulkan/icd.d/radeon_icd.x86_64.json
|
||||||
|
shared/lib/libvulkan_radeon.so
|
||||||
|
shared/lib/libdrm_amdgpu.so.1.0.0
|
||||||
|
shared/lib/libelf-0.188.so
|
||||||
|
shared/lib/libVkLayer_MESA_device_select.so
|
||||||
|
bin/qt.conf
|
||||||
|
shared/lib/qt6/plugins/platforms/libqeglfs.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqlinuxfb.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqminimal.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqminimalegl.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqoffscreen.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqvkkhrdisplay.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqvnc.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqwayland-egl.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqwayland-generic.so
|
||||||
|
shared/lib/qt6/plugins/platforms/libqxcb.so
|
||||||
|
shared/lib/libQt6WaylandClient.so.6.4.2
|
||||||
|
shared/lib/libwayland-cursor.so.0.21.0
|
||||||
|
shared/lib/qt6/plugins/platformthemes/libqgtk3.so
|
||||||
|
shared/lib/libgtk-3.so.0.2406.32
|
||||||
|
shared/lib/libgdk-3.so.0.2406.32
|
||||||
|
shared/lib/libatk-1.0.so.0.24609.1
|
||||||
|
shared/lib/libepoxy.so.0.0.0
|
||||||
|
shared/lib/libXi.so.6.1.0
|
||||||
|
shared/lib/libatk-bridge-2.0.so.0.0.0
|
||||||
|
shared/lib/libwayland-egl.so.1.21.0
|
||||||
|
shared/lib/libXcursor.so.1.0.2
|
||||||
|
shared/lib/libXdamage.so.1.1.0
|
||||||
|
shared/lib/libXcomposite.so.1.0.0
|
||||||
|
shared/lib/libXrandr.so.2.2.0
|
||||||
|
shared/lib/libXinerama.so.1.0.0
|
||||||
|
shared/lib/libdl.so.2
|
||||||
|
shared/lib/libatspi.so.0.0.1
|
||||||
|
share/glib-2.0/schemas/gschemas.compiled
|
||||||
|
shared/lib/gio/modules/giomodule.cache
|
||||||
|
shared/lib/gio/modules/libdconfsettings.so
|
||||||
|
shared/lib/gio/modules/libgvfsdbus.so
|
||||||
|
shared/lib/gvfs/libgvfscommon.so
|
||||||
|
share/X11/xkb/rules/evdev
|
||||||
|
share/X11/xkb/keycodes/evdev
|
||||||
|
share/X11/xkb/keycodes/aliases
|
||||||
|
share/X11/xkb/types/complete
|
||||||
|
share/X11/xkb/types/basic
|
||||||
|
share/X11/xkb/types/mousekeys
|
||||||
|
share/X11/xkb/types/pc
|
||||||
|
share/X11/xkb/types/iso9995
|
||||||
|
share/X11/xkb/types/level5
|
||||||
|
share/X11/xkb/types/extra
|
||||||
|
share/X11/xkb/types/numpad
|
||||||
|
share/X11/xkb/compat/complete
|
||||||
|
share/X11/xkb/compat/basic
|
||||||
|
share/X11/xkb/compat/ledcaps
|
||||||
|
share/X11/xkb/compat/lednum
|
||||||
|
share/X11/xkb/compat/iso9995
|
||||||
|
share/X11/xkb/compat/mousekeys
|
||||||
|
share/X11/xkb/compat/accessx
|
||||||
|
share/X11/xkb/compat/misc
|
||||||
|
share/X11/xkb/compat/ledscroll
|
||||||
|
share/X11/xkb/compat/xfree86
|
||||||
|
share/X11/xkb/compat/level5
|
||||||
|
share/X11/xkb/compat/caps
|
||||||
|
share/X11/xkb/symbols/pc
|
||||||
|
share/X11/xkb/symbols/srvr_ctrl
|
||||||
|
share/X11/xkb/symbols/keypad
|
||||||
|
share/X11/xkb/symbols/altwin
|
||||||
|
share/X11/xkb/symbols/us
|
||||||
|
share/X11/xkb/symbols/inet
|
||||||
|
shared/lib/qt6/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
|
||||||
|
shared/lib/qt6/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so
|
||||||
|
shared/lib/qt6/plugins/iconengines/libqsvgicon.so
|
||||||
|
shared/lib/qt6/plugins/imageformats/libqgif.so
|
||||||
|
shared/lib/qt6/plugins/imageformats/libqico.so
|
||||||
|
shared/lib/qt6/plugins/imageformats/libqjpeg.so
|
||||||
|
shared/lib/qt6/plugins/imageformats/libqsvg.so
|
||||||
|
shared/lib/libQt6Svg.so.6.4.2
|
||||||
|
etc/fonts/fonts.conf
|
||||||
|
shared/lib/qt6/plugins/wayland-shell-integration/libfullscreen-shell-v1.so
|
||||||
|
shared/lib/qt6/plugins/wayland-shell-integration/libivi-shell.so
|
||||||
|
shared/lib/qt6/plugins/wayland-shell-integration/libqt-shell.so
|
||||||
|
shared/lib/qt6/plugins/wayland-shell-integration/libwl-shell-plugin.so
|
||||||
|
shared/lib/qt6/plugins/wayland-shell-integration/libxdg-shell.so
|
||||||
|
shared/lib/qt6/plugins/wayland-graphics-integration-client/libdmabuf-server.so
|
||||||
|
shared/lib/qt6/plugins/wayland-graphics-integration-client/libdrm-egl-server.so
|
||||||
|
shared/lib/qt6/plugins/wayland-graphics-integration-client/libqt-plugin-wayland-egl.so
|
||||||
|
shared/lib/qt6/plugins/wayland-graphics-integration-client/libshm-emulation-server.so
|
||||||
|
shared/lib/qt6/plugins/wayland-graphics-integration-client/libvulkan-server.so
|
||||||
|
shared/lib/libQt6WaylandEglClientHwIntegration.so.6.4.2
|
||||||
|
shared/lib/libQt6OpenGL.so.6.4.2
|
||||||
|
share/glvnd/egl_vendor.d/50_mesa.json
|
||||||
|
shared/lib/libEGL_mesa.so.0.0.0
|
||||||
|
shared/lib/libgbm.so.1.0.0
|
||||||
|
shared/lib/libglapi.so.0.0.0
|
||||||
|
shared/lib/libxcb-dri2.so.0.0.0
|
||||||
|
shared/lib/libwayland-server.so.0.21.0
|
||||||
|
shared/lib/dri/swrast_dri.so
|
||||||
|
shared/lib/libsensors.so.5.0.0
|
||||||
|
shared/lib/libdrm_radeon.so.1.0.1
|
||||||
|
shared/lib/libdrm_nouveau.so.2.0.0
|
||||||
|
shared/lib/libdrm_intel.so.1.0.0
|
||||||
|
shared/lib/libpciaccess.so.0.11.1
|
||||||
|
shared/lib/qt6/plugins/wayland-decoration-client/libbradient.so
|
||||||
|
shared/lib/gtk-3.0/modules/libcanberra-gtk3-module.so
|
||||||
|
shared/lib/libcanberra-gtk3.so.0.1.9
|
||||||
|
shared/lib/libcanberra.so.0.2.5
|
||||||
|
shared/lib/libvorbisfile.so.3.3.8
|
||||||
|
shared/lib/libtdb.so.1.4.8
|
||||||
|
shared/lib/libltdl.so.7.3.2
|
||||||
|
shared/lib/libXss.so.1.0.0
|
||||||
153
.ci/linux/package.sh
Executable file
153
.ci/linux/package.sh
Executable file
|
|
@ -0,0 +1,153 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
# This script assumes you're in the source directory
|
||||||
|
|
||||||
|
export APPIMAGE_EXTRACT_AND_RUN=1
|
||||||
|
export BASE_ARCH="$(uname -m)"
|
||||||
|
|
||||||
|
SHARUN="https://github.com/VHSgunzo/sharun/releases/latest/download/sharun-${BASE_ARCH}-aio"
|
||||||
|
URUNTIME="https://github.com/VHSgunzo/uruntime/releases/latest/download/uruntime-appimage-dwarfs-${BASE_ARCH}"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
amd64|"")
|
||||||
|
echo "Packaging amd64-v3 optimized build of Eden"
|
||||||
|
ARCH="amd64_v3"
|
||||||
|
;;
|
||||||
|
steamdeck|zen2)
|
||||||
|
echo "Packaging Steam Deck (Zen 2) optimized build of Eden"
|
||||||
|
ARCH="steamdeck"
|
||||||
|
;;
|
||||||
|
rog-ally|allyx|zen4)
|
||||||
|
echo "Packaging ROG Ally X (Zen 4) optimized build of Eden"
|
||||||
|
ARCH="rog-ally-x"
|
||||||
|
;;
|
||||||
|
legacy)
|
||||||
|
echo "Packaging amd64 generic build of Eden"
|
||||||
|
ARCH=amd64
|
||||||
|
;;
|
||||||
|
aarch64)
|
||||||
|
echo "Packaging armv8-a build of Eden"
|
||||||
|
ARCH=aarch64
|
||||||
|
;;
|
||||||
|
armv9)
|
||||||
|
echo "Packaging armv9-a build of Eden"
|
||||||
|
ARCH=armv9
|
||||||
|
;;
|
||||||
|
native)
|
||||||
|
echo "Packaging native build of Eden"
|
||||||
|
ARCH="$BASE_ARCH"
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
export BUILDDIR="$2"
|
||||||
|
|
||||||
|
if [ "$BUILDDIR" = '' ]
|
||||||
|
then
|
||||||
|
BUILDDIR=build
|
||||||
|
fi
|
||||||
|
|
||||||
|
EDEN_TAG=$(git describe --tags --abbrev=0)
|
||||||
|
echo "Making \"$EDEN_TAG\" build"
|
||||||
|
# git checkout "$EDEN_TAG"
|
||||||
|
VERSION="$(echo "$EDEN_TAG")"
|
||||||
|
|
||||||
|
# NOW MAKE APPIMAGE
|
||||||
|
mkdir -p ./AppDir
|
||||||
|
cd ./AppDir
|
||||||
|
|
||||||
|
cp ../dist/dev.eden_emu.eden.desktop .
|
||||||
|
cp ../dist/dev.eden_emu.eden.svg .
|
||||||
|
|
||||||
|
ln -sf ./dev.eden_emu.eden.svg ./.DirIcon
|
||||||
|
|
||||||
|
UPINFO='gh-releases-zsync|eden-emulator|Releases|latest|*.AppImage.zsync'
|
||||||
|
|
||||||
|
if [ "$DEVEL" = 'true' ]; then
|
||||||
|
sed -i 's|Name=Eden|Name=Eden Nightly|' ./dev.eden_emu.eden.desktop
|
||||||
|
UPINFO="$(echo "$UPINFO" | sed 's|Releases|nightly|')"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LIBDIR="/usr/lib"
|
||||||
|
|
||||||
|
# Workaround for Gentoo
|
||||||
|
if [ ! -d "$LIBDIR/qt6" ]
|
||||||
|
then
|
||||||
|
LIBDIR="/usr/lib64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Workaround for Debian
|
||||||
|
if [ ! -d "$LIBDIR/qt6" ]
|
||||||
|
then
|
||||||
|
LIBDIR="/usr/lib/${BASE_ARCH}-linux-gnu"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Bundle all libs
|
||||||
|
|
||||||
|
wget --retry-connrefused --tries=30 "$SHARUN" -O ./sharun-aio
|
||||||
|
chmod +x ./sharun-aio
|
||||||
|
xvfb-run -a ./sharun-aio l -p -v -e -s -k \
|
||||||
|
../$BUILDDIR/bin/eden* \
|
||||||
|
$LIBDIR/lib*GL*.so* \
|
||||||
|
$LIBDIR/dri/* \
|
||||||
|
$LIBDIR/vdpau/* \
|
||||||
|
$LIBDIR/libvulkan* \
|
||||||
|
$LIBDIR/libXss.so* \
|
||||||
|
$LIBDIR/libdecor-0.so* \
|
||||||
|
$LIBDIR/libgamemode.so* \
|
||||||
|
$LIBDIR/qt6/plugins/audio/* \
|
||||||
|
$LIBDIR/qt6/plugins/bearer/* \
|
||||||
|
$LIBDIR/qt6/plugins/imageformats/* \
|
||||||
|
$LIBDIR/qt6/plugins/iconengines/* \
|
||||||
|
$LIBDIR/qt6/plugins/platforms/* \
|
||||||
|
$LIBDIR/qt6/plugins/platformthemes/* \
|
||||||
|
$LIBDIR/qt6/plugins/platforminputcontexts/* \
|
||||||
|
$LIBDIR/qt6/plugins/styles/* \
|
||||||
|
$LIBDIR/qt6/plugins/xcbglintegrations/* \
|
||||||
|
$LIBDIR/qt6/plugins/wayland-*/* \
|
||||||
|
$LIBDIR/pulseaudio/* \
|
||||||
|
$LIBDIR/pipewire-0.3/* \
|
||||||
|
$LIBDIR/spa-0.2/*/* \
|
||||||
|
$LIBDIR/alsa-lib/*
|
||||||
|
|
||||||
|
rm -f ./sharun-aio
|
||||||
|
|
||||||
|
# Prepare sharun
|
||||||
|
if [ "$ARCH" = 'aarch64' ]; then
|
||||||
|
# allow the host vulkan to be used for aarch64 given the sad situation
|
||||||
|
echo 'SHARUN_ALLOW_SYS_VKICD=1' > ./.env
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Workaround for Gentoo
|
||||||
|
if [ -d "shared/libproxy" ]; then
|
||||||
|
cp shared/libproxy/* lib/
|
||||||
|
fi
|
||||||
|
|
||||||
|
ln -f ./sharun ./AppRun
|
||||||
|
./sharun -g
|
||||||
|
|
||||||
|
# turn appdir into appimage
|
||||||
|
cd ..
|
||||||
|
wget -q "$URUNTIME" -O ./uruntime
|
||||||
|
chmod +x ./uruntime
|
||||||
|
|
||||||
|
#Add udpate info to runtime
|
||||||
|
echo "Adding update information \"$UPINFO\" to runtime..."
|
||||||
|
./uruntime --appimage-addupdinfo "$UPINFO"
|
||||||
|
|
||||||
|
echo "Generating AppImage..."
|
||||||
|
./uruntime --appimage-mkdwarfs -f \
|
||||||
|
--set-owner 0 --set-group 0 \
|
||||||
|
--no-history --no-create-timestamp \
|
||||||
|
--categorize=hotness --hotness-list=.ci/linux/eden.dwfsprof \
|
||||||
|
--compression zstd:level=22 -S26 -B32 \
|
||||||
|
--header uruntime \
|
||||||
|
-N 4 \
|
||||||
|
-i ./AppDir -o Eden-"$VERSION"-"$ARCH".AppImage
|
||||||
|
|
||||||
|
echo "Generating zsync file..."
|
||||||
|
zsyncmake *.AppImage -u *.AppImage
|
||||||
|
echo "All Done!"
|
||||||
22
.ci/source.sh
Executable file
22
.ci/source.sh
Executable file
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash -ex
|
||||||
|
|
||||||
|
# git-archive-all
|
||||||
|
export PATH="$PATH:/home/$USER/.local/bin"
|
||||||
|
|
||||||
|
GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`"
|
||||||
|
GITREV="`git show -s --format='%h'`"
|
||||||
|
REV_NAME="eden-unified-source-${GITDATE}-${GITREV}"
|
||||||
|
|
||||||
|
COMPAT_LIST='dist/compatibility_list/compatibility_list.json'
|
||||||
|
|
||||||
|
mkdir artifacts
|
||||||
|
|
||||||
|
touch "${COMPAT_LIST}"
|
||||||
|
git describe --abbrev=0 --always HEAD > GIT-COMMIT
|
||||||
|
git describe --tags HEAD > GIT-TAG || echo 'unknown' > GIT-TAG
|
||||||
|
git-archive-all --include "${COMPAT_LIST}" --include GIT-COMMIT --include GIT-TAG --force-submodules artifacts/"${REV_NAME}.tar"
|
||||||
|
|
||||||
|
cd artifacts/
|
||||||
|
xz -T0 -9 "${REV_NAME}.tar"
|
||||||
|
sha256sum "${REV_NAME}.tar.xz" > "${REV_NAME}.tar.xz.sha256sum"
|
||||||
|
cd ..
|
||||||
51
.ci/windows/build.sh
Executable file
51
.ci/windows/build.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/bash -ex
|
||||||
|
|
||||||
|
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
if [ "$COMPILER" == "clang" ]
|
||||||
|
then
|
||||||
|
EXTRA_CMAKE_FLAGS+=(
|
||||||
|
-DCMAKE_CXX_COMPILER=clang-cl
|
||||||
|
-DCMAKE_C_COMPILER=clang-cl
|
||||||
|
-DCMAKE_CXX_FLAGS="-O3"
|
||||||
|
-DCMAKE_C_FLAGS="-O3"
|
||||||
|
)
|
||||||
|
|
||||||
|
BUILD_TYPE="RelWithDebInfo"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$WINDEPLOYQT" ] && { echo "WINDEPLOYQT environment variable required."; exit 1; }
|
||||||
|
|
||||||
|
echo $EXTRA_CMAKE_FLAGS
|
||||||
|
|
||||||
|
mkdir -p build && cd build
|
||||||
|
cmake .. -G Ninja \
|
||||||
|
-DCMAKE_BUILD_TYPE="${BUILD_TYPE:-Release}" \
|
||||||
|
-DENABLE_QT_TRANSLATION=ON \
|
||||||
|
-DUSE_DISCORD_PRESENCE=ON \
|
||||||
|
-DYUZU_USE_BUNDLED_SDL2=ON \
|
||||||
|
-DBUILD_TESTING=OFF \
|
||||||
|
-DYUZU_TESTS=OFF \
|
||||||
|
-DDYNARMIC_TESTS=OFF \
|
||||||
|
-DYUZU_CMD=OFF \
|
||||||
|
-DYUZU_ROOM_STANDALONE=OFF \
|
||||||
|
-DYUZU_USE_QT_MULTIMEDIA=${USE_MULTIMEDIA:-false} \
|
||||||
|
-DYUZU_USE_QT_WEB_ENGINE=${USE_WEBENGINE:-false} \
|
||||||
|
-DENABLE_LTO=ON \
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS=" /LTCG" \
|
||||||
|
-DYUZU_USE_BUNDLED_QT=${BUNDLE_QT:-false} \
|
||||||
|
-DUSE_CCACHE=${CCACHE:-false} \
|
||||||
|
-DENABLE_UPDATE_CHECKER=${DEVEL:-true} \
|
||||||
|
"${EXTRA_CMAKE_FLAGS[@]}" \
|
||||||
|
"$@"
|
||||||
|
|
||||||
|
ninja
|
||||||
|
|
||||||
|
set +e
|
||||||
|
rm -f bin/*.pdb
|
||||||
|
set -e
|
||||||
|
|
||||||
|
$WINDEPLOYQT --release --no-compiler-runtime --no-opengl-sw --no-system-dxc-compiler --no-system-d3d-compiler --dir pkg bin/eden.exe
|
||||||
|
|
||||||
|
cp bin/* pkg
|
||||||
18
.ci/windows/package.sh
Normal file
18
.ci/windows/package.sh
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
GITDATE=$(git show -s --date=short --format='%ad' | tr -d "-")
|
||||||
|
GITREV=$(git show -s --format='%h')
|
||||||
|
|
||||||
|
ZIP_NAME="Eden-Windows-${ARCH}-${GITDATE}-${GITREV}.zip"
|
||||||
|
|
||||||
|
ARTIFACTS_DIR="artifacts"
|
||||||
|
PKG_DIR="build/pkg"
|
||||||
|
|
||||||
|
mkdir -p "$ARTIFACTS_DIR"
|
||||||
|
|
||||||
|
TMP_DIR=$(mktemp -d)
|
||||||
|
|
||||||
|
cp -r "$PKG_DIR"/* "$TMP_DIR"/
|
||||||
|
cp LICENSE* README* "$TMP_DIR"/
|
||||||
|
|
||||||
|
7z a -tzip "$ARTIFACTS_DIR/$ZIP_NAME" "$TMP_DIR"/*
|
||||||
|
|
||||||
|
rm -rf "$TMP_DIR"
|
||||||
10
.forgejo/ISSUE_TEMPLATE/blank_issue_template.yml
Normal file
10
.forgejo/ISSUE_TEMPLATE/blank_issue_template.yml
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
name: New Issue (Developers Only)
|
||||||
|
description: A blank issue template for developers only. If you are not a developer, do not use this issue template. Your issue WILL BE CLOSED if you do not use the appropriate issue template.
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
**If you are not a developer, do not use this issue template. Your issue WILL BE CLOSED if you do not use the appropriate issue template.**
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: "Issue"
|
||||||
64
.forgejo/ISSUE_TEMPLATE/bug_report.yml
Normal file
64
.forgejo/ISSUE_TEMPLATE/bug_report.yml
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
name: Bug Report
|
||||||
|
description: File a bug report
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: Tech support does not belong here. You should only file an issue here if you think you have experienced an actual bug with yuzu.
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Is there an existing issue for this?
|
||||||
|
description: Please search to see if an issue already exists for the bug you encountered.
|
||||||
|
options:
|
||||||
|
- label: I have searched the existing issues
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Affected Build(s)
|
||||||
|
description: List the affected build(s) that this issue applies to.
|
||||||
|
placeholder: Mainline 1234 / Early Access 1234
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: issue-desc
|
||||||
|
attributes:
|
||||||
|
label: Description of Issue
|
||||||
|
description: A brief description of the issue encountered along with any images and/or videos.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: expected-behavior
|
||||||
|
attributes:
|
||||||
|
label: Expected Behavior
|
||||||
|
description: A brief description of how it is expected to work along with any images and/or videos.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: reproduction-steps
|
||||||
|
attributes:
|
||||||
|
label: Reproduction Steps
|
||||||
|
description: A brief explanation of how to reproduce this issue. If possible, provide a save file to aid in reproducing the issue.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: log
|
||||||
|
attributes:
|
||||||
|
label: Log File
|
||||||
|
description: A log file will help our developers to better diagnose and fix the issue. Instructions can be found [here](https://yuzu-emu.org/help/reference/log-files).
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: system-config
|
||||||
|
attributes:
|
||||||
|
label: System Configuration
|
||||||
|
placeholder: |
|
||||||
|
CPU: Intel i5-10400 / AMD Ryzen 5 3600
|
||||||
|
GPU/Driver: NVIDIA GeForce GTX 1060 (Driver 512.95)
|
||||||
|
RAM: 16GB DDR4-3200
|
||||||
|
OS: Windows 11 22H2 (Build 22621.819)
|
||||||
|
value: |
|
||||||
|
CPU:
|
||||||
|
GPU/Driver:
|
||||||
|
RAM:
|
||||||
|
OS:
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
4
.forgejo/ISSUE_TEMPLATE/config.yml
Normal file
4
.forgejo/ISSUE_TEMPLATE/config.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Eden Discord
|
||||||
|
url: https://discord.gg/HstXbPch7X
|
||||||
28
.forgejo/ISSUE_TEMPLATE/feature_request.yml
Normal file
28
.forgejo/ISSUE_TEMPLATE/feature_request.yml
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
name: Feature Request
|
||||||
|
description: File a feature request
|
||||||
|
labels: "request"
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: Tech support does not belong here. You should only file an issue here if you are requesting a feature you believe would make yuzu better.
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Is there an existing issue for this?
|
||||||
|
description: Please search to see if an issue already exists for the feature you are requesting.
|
||||||
|
options:
|
||||||
|
- label: I have searched the existing issues
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: what-feature
|
||||||
|
attributes:
|
||||||
|
label: What feature are you suggesting?
|
||||||
|
description: A brief description of the requested feature.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: why-feature
|
||||||
|
attributes:
|
||||||
|
label: Why would this feature be useful?
|
||||||
|
description: A brief description of why this feature would make yuzu better.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
name: tx-pull
|
name: tx-pull
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# monday at 4pm
|
# tuesday, saturday at 2pm
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 16 * * 1'
|
- cron: '0 14 * * 2,6'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
@ -52,7 +52,7 @@ jobs:
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
curl -XPOST \
|
curl -X 'POST' \
|
||||||
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
|
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
|
||||||
-H 'accept: application/json' \
|
-H 'accept: application/json' \
|
||||||
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
name: Update Dependencies
|
name: update-deps
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# saturday at noon
|
# saturday at noon
|
||||||
|
|
@ -7,7 +7,7 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-deps:
|
tx-update:
|
||||||
runs-on: source
|
runs-on: source
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
@ -24,21 +24,18 @@ jobs:
|
||||||
git remote set-url origin ci:eden-emu/eden.git
|
git remote set-url origin ci:eden-emu/eden.git
|
||||||
|
|
||||||
DATE=$(date +"%b %d")
|
DATE=$(date +"%b %d")
|
||||||
TIMESTAMP=$(date +"%s")
|
|
||||||
echo "DATE=$DATE" >> "$GITHUB_ENV"
|
echo "DATE=$DATE" >> "$GITHUB_ENV"
|
||||||
echo "TIMESTAMP=$TIMESTAMP" >> "$GITHUB_ENV"
|
|
||||||
|
|
||||||
git switch -c update-deps-$TIMESTAMP
|
git switch -c update-deps-$DATE
|
||||||
tools/cpmutil.sh package update -ac
|
tools/cpmutil.sh package update -ac
|
||||||
git push
|
git push
|
||||||
|
|
||||||
- name: Create PR
|
- name: Create PR
|
||||||
run: |
|
run: |
|
||||||
set -x
|
|
||||||
TITLE="[externals] Dependency update for $DATE"
|
TITLE="[externals] Dependency update for $DATE"
|
||||||
BODY="$(git show -s --format='%b')"
|
BODY="$(git show -s --format='%b')"
|
||||||
BASE=master
|
BASE=master
|
||||||
HEAD=update-deps-$TIMESTAMP
|
HEAD=update-deps-$DATE
|
||||||
|
|
||||||
cat << EOF > data.json
|
cat << EOF > data.json
|
||||||
{
|
{
|
||||||
|
|
@ -49,7 +46,7 @@ jobs:
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
curl -XPOST \
|
curl -X 'POST' \
|
||||||
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
|
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
|
||||||
-H 'accept: application/json' \
|
-H 'accept: application/json' \
|
||||||
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
||||||
|
|
|
||||||
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
4
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
|
@ -1,4 +0,0 @@
|
||||||
- [ ] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
|
|
||||||
- [ ] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.
|
|
||||||
|
|
||||||
-------------------
|
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -64,6 +64,3 @@ artifacts
|
||||||
/install*
|
/install*
|
||||||
vulkansdk*.exe
|
vulkansdk*.exe
|
||||||
*.tar.zst
|
*.tar.zst
|
||||||
|
|
||||||
# Build-time generated external sources
|
|
||||||
externals/generated
|
|
||||||
|
|
|
||||||
13
.patch/boost/0001-clang-cl.patch
Normal file
13
.patch/boost/0001-clang-cl.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/libs/cobalt/include/boost/cobalt/concepts.hpp b/libs/cobalt/include/boost/cobalt/concepts.hpp
|
||||||
|
index d49f2ec..a9bdb80 100644
|
||||||
|
--- a/libs/cobalt/include/boost/cobalt/concepts.hpp
|
||||||
|
+++ b/libs/cobalt/include/boost/cobalt/concepts.hpp
|
||||||
|
@@ -62,7 +62,7 @@ struct enable_awaitables
|
||||||
|
template <typename T>
|
||||||
|
concept with_get_executor = requires (T& t)
|
||||||
|
{
|
||||||
|
- {t.get_executor()} -> asio::execution::executor;
|
||||||
|
+ t.get_executor();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
89
.patch/httplib/0002-fix-zstd.patch
Normal file
89
.patch/httplib/0002-fix-zstd.patch
Normal file
|
|
@ -0,0 +1,89 @@
|
||||||
|
From 509be32bbfa6eb95014860f7c9ea6d45c8ddaa56 Mon Sep 17 00:00:00 2001
|
||||||
|
From: crueter <crueter@eden-emu.dev>
|
||||||
|
Date: Sun, 8 Mar 2026 15:11:12 -0400
|
||||||
|
Subject: [PATCH] [cmake] Simplify zstd find logic, and support pre-existing
|
||||||
|
zstd target
|
||||||
|
|
||||||
|
Some deduplication work on the zstd required/if-available logic. Also
|
||||||
|
adds support for pre-existing `zstd::libzstd` which is useful for
|
||||||
|
projects that bundle their own zstd in a way that doesn't get caught by
|
||||||
|
`CONFIG`
|
||||||
|
|
||||||
|
Signed-off-by: crueter <crueter@eden-emu.dev>
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 46 ++++++++++++++++++++++++++--------------------
|
||||||
|
1 file changed, 26 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 1874e36be0..8d31198006 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -241,28 +241,34 @@ endif()
|
||||||
|
# NOTE:
|
||||||
|
# zstd < 1.5.6 does not provide the CMake imported target `zstd::libzstd`.
|
||||||
|
# Older versions must be consumed via their pkg-config file.
|
||||||
|
-if(HTTPLIB_REQUIRE_ZSTD)
|
||||||
|
- find_package(zstd 1.5.6 CONFIG)
|
||||||
|
- if(NOT zstd_FOUND)
|
||||||
|
- find_package(PkgConfig REQUIRED)
|
||||||
|
- pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
|
||||||
|
- add_library(zstd::libzstd ALIAS PkgConfig::zstd)
|
||||||
|
- endif()
|
||||||
|
- set(HTTPLIB_IS_USING_ZSTD TRUE)
|
||||||
|
-elseif(HTTPLIB_USE_ZSTD_IF_AVAILABLE)
|
||||||
|
- find_package(zstd 1.5.6 CONFIG QUIET)
|
||||||
|
- if(NOT zstd_FOUND)
|
||||||
|
- find_package(PkgConfig QUIET)
|
||||||
|
- if(PKG_CONFIG_FOUND)
|
||||||
|
- pkg_check_modules(zstd QUIET IMPORTED_TARGET libzstd)
|
||||||
|
-
|
||||||
|
- if(TARGET PkgConfig::zstd)
|
||||||
|
+if (HTTPLIB_REQUIRE_ZSTD)
|
||||||
|
+ set(HTTPLIB_ZSTD_REQUESTED ON)
|
||||||
|
+ set(HTTPLIB_ZSTD_REQUIRED REQUIRED)
|
||||||
|
+elseif (HTTPLIB_USE_ZSTD_IF_AVAILABLE)
|
||||||
|
+ set(HTTPLIB_ZSTD_REQUESTED ON)
|
||||||
|
+ set(HTTPLIB_ZSTD_REQUIRED QUIET)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
+if (HTTPLIB_ZSTD_REQUESTED)
|
||||||
|
+ if (TARGET zstd::libzstd)
|
||||||
|
+ set(HTTPLIB_IS_USING_ZSTD TRUE)
|
||||||
|
+ else()
|
||||||
|
+ find_package(zstd 1.5.6 CONFIG QUIET)
|
||||||
|
+
|
||||||
|
+ if (NOT zstd_FOUND)
|
||||||
|
+ find_package(PkgConfig ${HTTPLIB_ZSTD_REQUIRED})
|
||||||
|
+ pkg_check_modules(zstd ${HTTPLIB_ZSTD_REQUIRED} IMPORTED_TARGET libzstd)
|
||||||
|
+
|
||||||
|
+ if (TARGET PkgConfig::zstd)
|
||||||
|
add_library(zstd::libzstd ALIAS PkgConfig::zstd)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
+
|
||||||
|
+ # This will always be true if zstd is required.
|
||||||
|
+ # If zstd *isn't* found when zstd is set to required,
|
||||||
|
+ # CMake will error out earlier in this block.
|
||||||
|
+ set(HTTPLIB_IS_USING_ZSTD ${zstd_FOUND})
|
||||||
|
endif()
|
||||||
|
- # Both find_package and PkgConf set a XXX_FOUND var
|
||||||
|
- set(HTTPLIB_IS_USING_ZSTD ${zstd_FOUND})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Used for default, common dirs that the end-user can change (if needed)
|
||||||
|
@@ -317,13 +323,13 @@ if(HTTPLIB_COMPILE)
|
||||||
|
$<BUILD_INTERFACE:${_httplib_build_includedir}/httplib.h>
|
||||||
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/httplib.h>
|
||||||
|
)
|
||||||
|
-
|
||||||
|
+
|
||||||
|
# Add C++20 module support if requested
|
||||||
|
# Include from separate file to prevent parse errors on older CMake versions
|
||||||
|
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.28")
|
||||||
|
include(cmake/modules.cmake)
|
||||||
|
endif()
|
||||||
|
-
|
||||||
|
+
|
||||||
|
set_target_properties(${PROJECT_NAME}
|
||||||
|
PROPERTIES
|
||||||
|
VERSION ${${PROJECT_NAME}_VERSION}
|
||||||
20
.patch/libadrenotools/0001-linkerns-cpm.patch
Normal file
20
.patch/libadrenotools/0001-linkerns-cpm.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 16c6092..9e75548 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -8,7 +8,14 @@ project(adrenotools LANGUAGES CXX C)
|
||||||
|
|
||||||
|
set(GEN_INSTALL_TARGET OFF CACHE BOOL "")
|
||||||
|
|
||||||
|
-add_subdirectory(lib/linkernsbypass)
|
||||||
|
+include(CPM)
|
||||||
|
+set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||||
|
+
|
||||||
|
+CPMAddPackage(
|
||||||
|
+ NAME linkernsbypass
|
||||||
|
+ URL "https://github.com/bylaws/liblinkernsbypass/archive/aa3975893d.zip"
|
||||||
|
+ URL_HASH SHA512=43d3d146facb7ec99d066a9b8990369ab7b9eec0d5f9a67131b0a0744fde0af27d884ca1f2a272cd113718a23356530ed97703c8c0659c4c25948d50c106119e
|
||||||
|
+)
|
||||||
|
|
||||||
|
set(LIB_SOURCES src/bcenabler.cpp
|
||||||
|
src/driver.cpp
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
From 52bbc5af6523daa22ad62fe4b84bc8d623d11a53 Mon Sep 17 00:00:00 2001
|
|
||||||
From: crueter <crueter@eden-emu.dev>
|
|
||||||
Date: Fri, 26 Jun 2026 01:09:40 -0400
|
|
||||||
Subject: [PATCH] use cpmfile def for linkernsbypass
|
|
||||||
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 16c6092..85b242c 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -8,7 +8,8 @@ project(adrenotools LANGUAGES CXX C)
|
|
||||||
|
|
||||||
set(GEN_INSTALL_TARGET OFF CACHE BOOL "")
|
|
||||||
|
|
||||||
-add_subdirectory(lib/linkernsbypass)
|
|
||||||
+include(CPMUtil)
|
|
||||||
+AddJsonPackage(linkernsbypass)
|
|
||||||
|
|
||||||
set(LIB_SOURCES src/bcenabler.cpp
|
|
||||||
src/driver.cpp
|
|
||||||
--
|
|
||||||
2.54.0
|
|
||||||
|
|
||||||
|
|
@ -1,214 +0,0 @@
|
||||||
From ec4c1fdf526cb9ad045abf59b29ee495bbf5023a Mon Sep 17 00:00:00 2001
|
|
||||||
From: crueter <crueter@eden-emu.dev>
|
|
||||||
Date: Sat, 30 May 2026 20:56:35 -0400
|
|
||||||
Subject: [PATCH] cpmutil compat
|
|
||||||
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 31 ++++++++-----------
|
|
||||||
cmake/FetchOpenSSL.cmake | 64 ----------------------------------------
|
|
||||||
cmake/GetCPM.cmake | 5 ----
|
|
||||||
3 files changed, 13 insertions(+), 87 deletions(-)
|
|
||||||
delete mode 100644 cmake/FetchOpenSSL.cmake
|
|
||||||
delete mode 100644 cmake/GetCPM.cmake
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 5420ecc..9ffd5a0 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -19,9 +19,7 @@ include(FetchContent)
|
|
||||||
include(ProcessorCount)
|
|
||||||
include(cmake/ConfigureOpenSSL.cmake)
|
|
||||||
include(cmake/DetectTargetPlatform.cmake)
|
|
||||||
-include(cmake/FetchOpenSSL.cmake)
|
|
||||||
include(cmake/FindVcvarsall.cmake)
|
|
||||||
-include(cmake/GetCPM.cmake)
|
|
||||||
|
|
||||||
# Custom options
|
|
||||||
option(OPENSSL_BUILD_VERBOSE "Enable verbose output from build" OFF)
|
|
||||||
@@ -47,9 +45,6 @@ if("${OPENSSL_TARGET_PLATFORM}" STREQUAL "")
|
|
||||||
detect_target_platform(OPENSSL_TARGET_PLATFORM)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
-# Fetch OpenSSL source
|
|
||||||
-fetch_openssl()
|
|
||||||
-
|
|
||||||
# Apply patches
|
|
||||||
foreach(patch IN LISTS OPENSSL_PATCH)
|
|
||||||
if(EXISTS "${patch}" AND NOT IS_DIRECTORY "${patch}")
|
|
||||||
@@ -59,13 +54,13 @@ foreach(patch IN LISTS OPENSSL_PATCH)
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND git init
|
|
||||||
- WORKING_DIRECTORY ${openssl_SOURCE_DIR}
|
|
||||||
+ WORKING_DIRECTORY ${OpenSSL_SOURCE_DIR}
|
|
||||||
OUTPUT_QUIET
|
|
||||||
ERROR_QUIET
|
|
||||||
)
|
|
||||||
execute_process(
|
|
||||||
COMMAND git apply ${patch}
|
|
||||||
- WORKING_DIRECTORY ${openssl_SOURCE_DIR}
|
|
||||||
+ WORKING_DIRECTORY ${OpenSSL_SOURCE_DIR}
|
|
||||||
OUTPUT_QUIET
|
|
||||||
ERROR_QUIET
|
|
||||||
)
|
|
||||||
@@ -161,8 +156,8 @@ list(PREPEND OPENSSL_CONFIGURE_OPTIONS ${OPENSSL_TARGET_PLATFORM})
|
|
||||||
# Configure OpenSSL
|
|
||||||
configure_openssl(
|
|
||||||
COMMAND ${VCVARSALL_COMMAND}
|
|
||||||
- FILE ${openssl_SOURCE_DIR}/Configure
|
|
||||||
- BUILD_DIR ${openssl_BINARY_DIR}
|
|
||||||
+ FILE ${OpenSSL_SOURCE_DIR}/Configure
|
|
||||||
+ BUILD_DIR ${OpenSSL_BINARY_DIR}
|
|
||||||
OPTIONS ${OPENSSL_CONFIGURE_OPTIONS}
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -203,8 +198,8 @@ endif()
|
|
||||||
# Parse Makefile
|
|
||||||
parse_makefile(${OPENSSL_MAKEFILE} "INSTALL_LIBS" OPENSSL_STATIC_LIBS)
|
|
||||||
parse_makefile(${OPENSSL_MAKEFILE} "INSTALL_SHLIBS" OPENSSL_SHARED_LIBS)
|
|
||||||
-list(TRANSFORM OPENSSL_STATIC_LIBS PREPEND "${openssl_BINARY_DIR}/")
|
|
||||||
-list(TRANSFORM OPENSSL_SHARED_LIBS PREPEND "${openssl_BINARY_DIR}/")
|
|
||||||
+list(TRANSFORM OPENSSL_STATIC_LIBS PREPEND "${OpenSSL_BINARY_DIR}/")
|
|
||||||
+list(TRANSFORM OPENSSL_SHARED_LIBS PREPEND "${OpenSSL_BINARY_DIR}/")
|
|
||||||
|
|
||||||
foreach(LIBRARY IN LISTS OPENSSL_STATIC_LIBS)
|
|
||||||
if(LIBRARY MATCHES "crypto")
|
|
||||||
@@ -239,14 +234,14 @@ endif()
|
|
||||||
|
|
||||||
# Provide same targets and variables as FindOpenSSL module
|
|
||||||
set(OPENSSL_FOUND ON CACHE BOOL "Override FindOpenSSL variables" FORCE)
|
|
||||||
-set(OPENSSL_INCLUDE_DIR ${openssl_SOURCE_DIR}/include ${openssl_BINARY_DIR}/include CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
+set(OPENSSL_INCLUDE_DIR ${OpenSSL_SOURCE_DIR}/include ${OpenSSL_BINARY_DIR}/include CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_${OPENSSL_LIBRARY_TYPE}_CRYPTO_LIBRARY} CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
set(OPENSSL_CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_DEPENDENCIES} CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
set(OPENSSL_SSL_LIBRARY ${OPENSSL_${OPENSSL_LIBRARY_TYPE}_SSL_LIBRARY} CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
set(OPENSSL_SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_DEPENDENCIES} CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
set(OPENSSL_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_SSL_LIBRARY} ${OPENSSL_DEPENDENCIES} CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
set(OPENSSL_VERSION ${OPENSSL_CONFIGURED_VERSION} CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
-set(OPENSSL_APPLINK_SOURCE ${openssl_SOURCE_DIR}/ms/applink.c CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
+set(OPENSSL_APPLINK_SOURCE ${OpenSSL_SOURCE_DIR}/ms/applink.c CACHE STRING "Override FindOpenSSL variables" FORCE)
|
|
||||||
|
|
||||||
add_library(OpenSSL::Crypto ${OPENSSL_LIBRARY_TYPE} IMPORTED GLOBAL)
|
|
||||||
add_library(OpenSSL::SSL ${OPENSSL_LIBRARY_TYPE} IMPORTED GLOBAL)
|
|
||||||
@@ -308,8 +303,8 @@ if(ANDROID)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
file(GLOB_RECURSE OPENSSL_SOURCES
|
|
||||||
- ${openssl_SOURCE_DIR}/*.[ch]
|
|
||||||
- ${openssl_SOURCE_DIR}/*.[ch].in
|
|
||||||
+ ${OpenSSL_SOURCE_DIR}/*.[ch]
|
|
||||||
+ ${OpenSSL_SOURCE_DIR}/*.[ch].in
|
|
||||||
)
|
|
||||||
|
|
||||||
set(OPENSSL_BUILD_OUTPUT
|
|
||||||
@@ -322,7 +317,7 @@ add_custom_command(
|
|
||||||
OUTPUT ${OPENSSL_BUILD_OUTPUT}
|
|
||||||
COMMAND ${OPENSSL_BUILD_COMMAND}
|
|
||||||
DEPENDS ${OPENSSL_SOURCES}
|
|
||||||
- WORKING_DIRECTORY ${openssl_BINARY_DIR}
|
|
||||||
+ WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
|
|
||||||
VERBATIM
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -341,7 +336,7 @@ if(OPENSSL_TEST AND NOT CMAKE_CROSSCOMPILING)
|
|
||||||
add_test(
|
|
||||||
NAME openssl-test
|
|
||||||
COMMAND ${OPENSSL_BUILD_TOOL} test VERBOSE_FAILURE=yes HARNESS_JOBS=${NUMBER_OF_THREADS}
|
|
||||||
- WORKING_DIRECTORY ${openssl_BINARY_DIR}
|
|
||||||
+ WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
@@ -356,7 +351,7 @@ if(OPENSSL_INSTALL)
|
|
||||||
install(CODE
|
|
||||||
"execute_process(
|
|
||||||
COMMAND ${OPENSSL_INSTALL_COMMAND}
|
|
||||||
- WORKING_DIRECTORY \"${openssl_BINARY_DIR}\"
|
|
||||||
+ WORKING_DIRECTORY \"${OpenSSL_BINARY_DIR}\"
|
|
||||||
)"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
diff --git a/cmake/FetchOpenSSL.cmake b/cmake/FetchOpenSSL.cmake
|
|
||||||
deleted file mode 100644
|
|
||||||
index a43505d..0000000
|
|
||||||
--- a/cmake/FetchOpenSSL.cmake
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,64 +0,0 @@
|
|
||||||
-function(fetch_openssl)
|
|
||||||
- if(EXISTS "${OPENSSL_SOURCE}" AND IS_DIRECTORY "${OPENSSL_SOURCE}")
|
|
||||||
- # Fetch the local OpenSSL source
|
|
||||||
- if(NOT IS_ABSOLUTE "${OPENSSL_SOURCE}")
|
|
||||||
- string(PREPEND OPENSSL_SOURCE ${CMAKE_SOURCE_DIR}/)
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- string(REPLACE "\\" "/" openssl-source_SOURCE_DIR "${OPENSSL_SOURCE}")
|
|
||||||
- set(openssl-source_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/openssl-source-build)
|
|
||||||
- else()
|
|
||||||
- set(CPM_OPTIONS
|
|
||||||
- NAME openssl-source
|
|
||||||
- DOWNLOAD_ONLY ON
|
|
||||||
- )
|
|
||||||
-
|
|
||||||
- if(NOT OPENSSL_CONFIGURE_VERBOSE)
|
|
||||||
- list(APPEND CPM_OPTIONS QUIET)
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- if("${OPENSSL_SOURCE}" MATCHES "^http")
|
|
||||||
- # Download OpenSSL source from the internet
|
|
||||||
- list(APPEND CPM_OPTIONS URL ${OPENSSL_SOURCE})
|
|
||||||
- else()
|
|
||||||
- # Download OpenSSL source from the official website
|
|
||||||
- if("${OPENSSL_TARGET_VERSION}" STREQUAL "")
|
|
||||||
- set(OPENSSL_TARGET_VERSION ${PROJECT_VERSION})
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- if(OPENSSL_TARGET_VERSION VERSION_EQUAL PROJECT_VERSION)
|
|
||||||
- list(APPEND CPM_OPTIONS URL_HASH SHA256=aaf51a1fe064384f811daeaeb4ec4dce7340ec8bd893027eee676af31e83a04f)
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- if(OPENSSL_TARGET_VERSION MATCHES "^1\.1\.1[a-w]$")
|
|
||||||
- string(REPLACE "." "_" OPENSSL_TAGGED_VERSION ${OPENSSL_TARGET_VERSION})
|
|
||||||
- list(APPEND CPM_OPTIONS URL https://github.com/openssl/openssl/releases/download/OpenSSL_${OPENSSL_TAGGED_VERSION}/openssl-${OPENSSL_TARGET_VERSION}.tar.gz)
|
|
||||||
- else()
|
|
||||||
- list(APPEND CPM_OPTIONS URL https://github.com/openssl/openssl/releases/download/openssl-${OPENSSL_TARGET_VERSION}/openssl-${OPENSSL_TARGET_VERSION}.tar.gz)
|
|
||||||
- endif()
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- CPMAddPackage(${CPM_OPTIONS})
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- # Clean build directory if source directory has changed
|
|
||||||
- if(DEFINED CACHE{openssl-source_SOURCE_DIR_OLD} AND NOT openssl-source_SOURCE_DIR STREQUAL openssl-source_SOURCE_DIR_OLD)
|
|
||||||
- set(openssl-source_SOURCE_DIR_OLD ${openssl-source_SOURCE_DIR} CACHE INTERNAL "Previously fetched OpenSSL source")
|
|
||||||
-
|
|
||||||
- if(IS_DIRECTORY ${openssl-source_BINARY_DIR})
|
|
||||||
- file(REMOVE_RECURSE ${openssl-source_BINARY_DIR})
|
|
||||||
- file(MAKE_DIRECTORY ${openssl-source_BINARY_DIR})
|
|
||||||
- endif()
|
|
||||||
- endif()
|
|
||||||
-
|
|
||||||
- # Override the FindOpenSSL module
|
|
||||||
- FetchContent_Declare(
|
|
||||||
- OpenSSL
|
|
||||||
- SOURCE_DIR ${openssl-source_SOURCE_DIR}
|
|
||||||
- BINARY_DIR ${openssl-source_BINARY_DIR}
|
|
||||||
- OVERRIDE_FIND_PACKAGE
|
|
||||||
- )
|
|
||||||
- FetchContent_MakeAvailable(OpenSSL)
|
|
||||||
-
|
|
||||||
- return(PROPAGATE openssl_SOURCE_DIR openssl_BINARY_DIR)
|
|
||||||
-endfunction()
|
|
||||||
diff --git a/cmake/GetCPM.cmake b/cmake/GetCPM.cmake
|
|
||||||
deleted file mode 100644
|
|
||||||
index bfc50f5..0000000
|
|
||||||
--- a/cmake/GetCPM.cmake
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,5 +0,0 @@
|
|
||||||
-file(
|
|
||||||
- DOWNLOAD https://github.com/cpm-cmake/CPM.cmake/releases/latest/download/get_cpm.cmake
|
|
||||||
- ${CMAKE_CURRENT_BINARY_DIR}/get_cpm.cmake
|
|
||||||
-)
|
|
||||||
-include(${CMAKE_CURRENT_BINARY_DIR}/get_cpm.cmake)
|
|
||||||
--
|
|
||||||
2.54.0
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue