Compare commits
442 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ba3ae32dc | ||
|
|
2912f64145 | ||
|
|
470d43df6d | ||
|
|
fb6330645a | ||
|
|
48219f348c | ||
|
|
661346503b | ||
|
|
a4e9b08fe7 | ||
|
|
ce9c7c196d | ||
|
|
efc7472330 | ||
|
|
aadcc24aac | ||
|
|
89199f4d27 | ||
|
|
978d9d935d | ||
|
|
ad9af25027 | ||
|
|
f729dbb3c3 | ||
|
|
ec2b9b0400 | ||
|
|
5027aecf77 | ||
|
|
f39e985434 | ||
|
|
f8f5a9b1a2 | ||
|
|
a8047d3b12 | ||
|
|
cc8451f764 | ||
|
|
27189f39d2 | ||
|
|
683e6249c3 | ||
|
|
eaece15dbd | ||
|
|
8e5419209c | ||
|
|
8fac95dcc0 | ||
|
|
706a3d0764 | ||
|
|
3d19743d95 | ||
|
|
bd2d344040 | ||
|
|
5f4a286046 | ||
|
|
b7fcec4985 | ||
|
|
0473747f94 | ||
|
|
23bb909bc9 | ||
|
|
e94ac63a5e | ||
|
|
88ff086d13 | ||
|
|
116377f6d9 | ||
|
|
7c32cf03a1 | ||
|
|
ff7bbaea7d | ||
|
|
c84d605426 | ||
|
|
def03f6589 | ||
|
|
5ea24621cf | ||
|
|
251a3470dc | ||
|
|
08f65cbd01 | ||
|
|
8fd495f906 | ||
|
|
9d55875377 | ||
|
|
8a11bec55a | ||
|
|
4a11d5db2f | ||
|
|
0d736d49d6 | ||
|
|
0c74a495f5 | ||
|
|
c6afeb2bf8 | ||
|
|
d9067d85af | ||
|
|
2aa2ac7d9a | ||
|
|
90164197dc | ||
|
|
573e06131d | ||
|
|
06c8926a2e | ||
|
|
eabd1017cc | ||
|
|
b870bd255c | ||
|
|
37b5cf6003 | ||
|
|
d761ecba8c | ||
|
|
83683440b2 | ||
|
|
9b18d0b111 | ||
|
|
46cfd9b6f3 | ||
|
|
889545e1ee | ||
|
|
24dc3834b6 | ||
|
|
2a66b40267 | ||
|
|
feb8c5f88e | ||
|
|
300a646a34 | ||
|
|
e875a3196b | ||
|
|
4eb082485d | ||
|
|
7455854528 | ||
|
|
5ab0227624 | ||
|
|
ad2e1cc554 | ||
|
|
02521882e7 | ||
|
|
9a7ca3aca4 | ||
|
|
ca6bb3ae1d | ||
|
|
50df88106e | ||
|
|
945ea630b4 | ||
|
|
5aba461cb3 | ||
|
|
8330940eca | ||
|
|
4d49341918 | ||
|
|
2f0f8a979c | ||
|
|
413c7543ba | ||
|
|
975aa4e2f2 | ||
|
|
a1f9e68f46 | ||
|
|
02dee4a20b | ||
|
|
bc9b9480fb | ||
|
|
d1ceeeca22 | ||
|
|
ee188168c1 | ||
|
|
1f558ce9b3 | ||
|
|
28a2ff1b94 | ||
|
|
d8070c74c3 | ||
|
|
b89cd6903c | ||
|
|
7e84f9ef59 | ||
|
|
609756db30 | ||
|
|
5575d77520 | ||
|
|
afe92c5bed | ||
|
|
732fee2e85 | ||
|
|
86f2f0bc36 | ||
|
|
cad9db4886 | ||
|
|
672c21829b | ||
|
|
eec460ec2e | ||
|
|
a6423a88cc | ||
|
|
f87b1dafc8 | ||
|
|
707e8afb29 | ||
|
|
bf115ef5a7 | ||
|
|
b154a7da3c | ||
|
|
37026c8aaa | ||
|
|
65beea7c73 | ||
|
|
86eae5cc41 | ||
|
|
8b9a841d99 | ||
|
|
ca1fcaca3b | ||
|
|
8f4e8c6d6a | ||
|
|
4f4c298a39 | ||
|
|
fee603f0b9 | ||
|
|
fc5fa7f1b2 | ||
|
|
17c341ff6c | ||
|
|
2deee80f29 | ||
|
|
27e5cb0f12 | ||
|
|
a76c76d122 | ||
|
|
44fa2805d6 | ||
|
|
7d0e79335e | ||
|
|
d17ecb01af | ||
|
|
b537e83bed | ||
|
|
8765b49512 | ||
|
|
a587b7dc3a | ||
|
|
90515bc6a2 | ||
|
|
676b1aabfc | ||
|
|
77decca678 | ||
|
|
ed225f8a8b | ||
|
|
d69bd86183 | ||
|
|
c172abfb53 | ||
|
|
d33dc16820 | ||
|
|
8cdaf19a83 | ||
|
|
f088f5bd45 | ||
|
|
cbeea5b954 | ||
|
|
1590e7c061 | ||
|
|
c95f8df8a5 | ||
|
|
e81f5111de | ||
|
|
91058d7383 | ||
|
|
048d02e5b4 | ||
|
|
17e2be173c | ||
|
|
bd6dd7ecec | ||
|
|
72ae613176 | ||
|
|
26ce96297c | ||
|
|
b3cc8723c1 | ||
|
|
417ed904f0 | ||
|
|
838cc926f6 | ||
|
|
860acb4faf | ||
|
|
a0bb6324c0 | ||
|
|
3a823de605 | ||
|
|
0257a8d491 | ||
|
|
6c76908ddb | ||
|
|
e6ad51e3d5 | ||
|
|
f11b69d6b7 | ||
|
|
27cadb24f3 | ||
|
|
a7ef19e028 | ||
|
|
2c1eff2e60 | ||
|
|
abb616c357 | ||
|
|
c95cb8f8ec | ||
|
|
3d0eb4b5d7 | ||
|
|
1b4a79c7ee | ||
|
|
c05d999225 | ||
|
|
71d3dd67d3 | ||
|
|
9b2fba1275 | ||
|
|
19eab4d7aa | ||
|
|
50a6f331cf | ||
|
|
9c13c71da8 | ||
|
|
7d53849cd3 | ||
|
|
fd0c5655c4 | ||
|
|
88f0e7862a | ||
|
|
d99a8c65cc | ||
|
|
876884e783 | ||
|
|
028050cf04 | ||
|
|
1f787ffc39 | ||
|
|
148dc7b480 | ||
|
|
612a203ab2 | ||
|
|
5e927199c5 | ||
|
|
ac99ea96da | ||
|
|
d1b7824443 | ||
|
|
34fa39eae8 | ||
|
|
9ace6742d7 | ||
|
|
79f29abcba | ||
|
|
3ce5463d2d | ||
|
|
cae70c30fa | ||
|
|
bcceced96d | ||
|
|
82e374f66c | ||
|
|
6e76014824 | ||
|
|
bb71ace365 | ||
|
|
21f9db1c27 | ||
|
|
b4a485e244 | ||
|
|
81a344f3db | ||
|
|
c0fbb2526d | ||
|
|
c3afd2fabd | ||
|
|
ee2891c55e | ||
|
|
dd91b41a78 | ||
|
|
e9f4541069 | ||
|
|
cf7086de7c | ||
|
|
8e14f07a69 | ||
|
|
0b179517b3 | ||
|
|
7a8176f63f | ||
|
|
5322bce4b8 | ||
|
|
276dcdd8ea | ||
|
|
59254cd1e7 | ||
|
|
9a3af3a6a3 | ||
|
|
b473c18d6e | ||
|
|
c984c387d7 | ||
|
|
5856beac54 | ||
|
|
16e7e034d7 | ||
|
|
47c6a73971 | ||
|
|
813a35abca | ||
|
|
93472023e2 | ||
|
|
9cb7001656 | ||
|
|
f0d77e86e3 | ||
|
|
24fe223692 | ||
|
|
8f770618d2 | ||
|
|
b673dad40d | ||
|
|
56d3f0e353 | ||
|
|
ad58ab8976 | ||
|
|
772e38cb8d | ||
|
|
811cc18d74 | ||
|
|
c5b519380c | ||
|
|
5ebdb29afd | ||
|
|
96e177702e | ||
|
|
844e0360c7 | ||
|
|
2650d22057 | ||
|
|
dc27aef542 | ||
|
|
cf860c5319 | ||
|
|
f1aa790545 | ||
|
|
c41209f137 | ||
|
|
ad7aea4863 | ||
|
|
af554c0baa | ||
|
|
f0a4ac7359 | ||
|
|
d604a9da7b | ||
|
|
0ec60f21ff | ||
|
|
9cf1e19d98 | ||
|
|
98a93561de | ||
|
|
4a60085a76 | ||
|
|
47ed86d3e2 | ||
|
|
2aea7f9584 | ||
|
|
59b0e66722 | ||
|
|
8de1dd151f | ||
|
|
98604d369a | ||
|
|
4337135910 | ||
|
|
395613b01f | ||
|
|
2896fa3835 | ||
|
|
0dad29698e | ||
|
|
5a0780b826 | ||
|
|
d35fc7b7ee | ||
|
|
8678cb06eb | ||
|
|
769edbfea3 | ||
|
|
0ff1d215c8 | ||
|
|
07e3a2aa46 | ||
|
|
a1b50e9339 | ||
|
|
f5e2b1fb13 | ||
|
|
6693b99ae4 | ||
|
|
f8ea09fa0f | ||
|
|
361e6209b2 | ||
|
|
3d1a67af18 | ||
|
|
c7b23f4a1a | ||
|
|
38aa2bc5e1 | ||
|
|
1864160326 | ||
|
|
0a169dec4d | ||
|
|
80bafc8fe8 | ||
|
|
f2c46eadc1 | ||
|
|
7a17fd8c71 | ||
|
|
9423a33fc2 | ||
|
|
afec66f598 | ||
|
|
a022560991 | ||
|
|
11ad71b1e7 | ||
|
|
ddac8c8eb5 | ||
|
|
c062931c9b | ||
|
|
e4122dae1d | ||
|
|
b75e81af5e | ||
|
|
2ed1328c93 | ||
|
|
c70b857c4f | ||
|
|
23566a1f7d | ||
|
|
529b069499 | ||
|
|
9a07bd0570 | ||
|
|
05f6942bef | ||
|
|
70c1e9abed | ||
|
|
69e47bd2c0 | ||
|
|
cdf9b556b2 | ||
|
|
7f5de6bcd6 | ||
|
|
c682306788 | ||
|
|
9d2341eaea | ||
|
|
d720a7b4b4 | ||
|
|
464212393e | ||
|
|
ea209e6dab | ||
|
|
b5f9f8b743 | ||
|
|
a8fc994c0b | ||
|
|
2991bd18ef | ||
|
|
281d7a468e | ||
|
|
12f89745be | ||
|
|
7de5eb6884 | ||
|
|
ac181b756f | ||
|
|
4a833e7206 | ||
|
|
06a08de68a | ||
|
|
f8712e50e6 | ||
|
|
fc63de39dd | ||
|
|
bf25058dbd | ||
|
|
75104b6103 | ||
|
|
0d950195e9 | ||
|
|
04e88ab82c | ||
|
|
f957c36238 | ||
|
|
ee67853636 | ||
|
|
0ff84ef312 | ||
|
|
00e2128fab | ||
|
|
f25582833a | ||
|
|
7758f70833 | ||
|
|
5279e76534 | ||
|
|
270232e8d6 | ||
|
|
d2bef2731c | ||
|
|
b45c78a051 | ||
|
|
40251c2115 | ||
|
|
83cdeed3c4 | ||
|
|
f77c91431f | ||
|
|
213f7b810d | ||
|
|
a11eae425a | ||
|
|
c610b61126 | ||
|
|
963f9981ce | ||
|
|
89dd600790 | ||
|
|
eb57e11f42 | ||
|
|
45eb9cfcee | ||
|
|
0a687b82d4 | ||
|
|
80d6172084 | ||
|
|
d8b2971a2e | ||
|
|
12157214b6 | ||
|
|
0574d7d2c9 | ||
|
|
d64f7dfe5c | ||
|
|
2d27359074 | ||
|
|
978ba3ed6f | ||
|
|
f1e9e846f1 | ||
|
|
097ccf830d | ||
|
|
fecf763a51 | ||
|
|
a12eb5fef6 | ||
|
|
4014b45cb6 | ||
|
|
2082ba7ec7 | ||
|
|
bfc720152a | ||
|
|
b6238d6df7 | ||
|
|
f94bae10f2 | ||
|
|
d19303883e | ||
|
|
5ee81a4932 | ||
|
|
4f29128e50 | ||
|
|
f76dc401c3 | ||
|
|
732b7eb560 | ||
|
|
93eecca894 | ||
|
|
d5aa10d572 | ||
|
|
308a995275 | ||
|
|
f8145152c7 | ||
|
|
c9c136bea7 | ||
|
|
6f9d025ad2 | ||
|
|
ab129cf314 | ||
|
|
72b3f3a8a5 | ||
|
|
5fb3ae487c | ||
|
|
86e02aceba | ||
|
|
50ec0892c6 | ||
|
|
f4e7fc91ba | ||
|
|
45c9f9bbb3 | ||
|
|
8e373eb714 | ||
|
|
75ebfaa090 | ||
|
|
e3035ae8f2 | ||
|
|
bcd22d9f8b | ||
|
|
4e7c036c7e | ||
|
|
19e2dba35a | ||
|
|
0634b4a278 | ||
|
|
ee428deb1e | ||
|
|
07bc77c7e7 | ||
|
|
72973fe582 | ||
|
|
c263b6af6f | ||
|
|
e46576b4c3 | ||
|
|
89bcb73d47 | ||
|
|
7d81a724ef | ||
|
|
634686d59b | ||
|
|
d0af14632e | ||
|
|
c87986b276 | ||
|
|
b600b90d53 | ||
|
|
2b979024cb | ||
|
|
5f676a6a55 | ||
|
|
2ab5b37137 | ||
|
|
f6547fac8c | ||
|
|
9c685c1449 | ||
|
|
aaf1a597ef | ||
|
|
850fc372b7 | ||
|
|
bad9d8043b | ||
|
|
8e8e66f880 | ||
|
|
fec5ac2298 | ||
|
|
19494bc7ac | ||
|
|
28a78d76fe | ||
|
|
6b3f8e1b62 | ||
|
|
aacc40254c | ||
|
|
efd26c3e4d | ||
|
|
a8093c2a3c | ||
|
|
0f8b35c4cd | ||
|
|
866881d0e3 | ||
|
|
a56b8d3de8 | ||
|
|
e544cb3cf6 | ||
|
|
ca9f2d43be | ||
|
|
e10f55d9db | ||
|
|
71e035f83b | ||
|
|
16f2564478 | ||
|
|
75fda70db2 | ||
|
|
b9e052b3a7 | ||
|
|
69aff83ef4 | ||
|
|
e07e269bd7 | ||
|
|
08232ce642 | ||
|
|
d536a66010 | ||
|
|
8907523ee4 | ||
|
|
9b1f6801a5 | ||
|
|
ff03ef657a | ||
|
|
5acddfde16 | ||
|
|
913a74dbd3 | ||
|
|
cbb92e75d3 | ||
|
|
bd7d0e0466 | ||
|
|
cce77b8d11 | ||
|
|
c2f4449b1c | ||
|
|
48ba1f3f24 | ||
|
|
d59fcf01bf | ||
|
|
b8456394f1 | ||
|
|
a467dd1ba6 | ||
|
|
c156f4760f | ||
|
|
13f11ebf49 | ||
|
|
6065e9aa09 | ||
|
|
8ed0ed5828 | ||
|
|
33067af283 | ||
|
|
d0a054270e | ||
|
|
2a3507c2b9 | ||
|
|
f71f43561d | ||
|
|
ecbfad4193 | ||
|
|
d76b2b5d26 | ||
|
|
cd9527072d | ||
|
|
ffdaf7369a | ||
|
|
5113f503d1 | ||
|
|
a5f1c2bcb0 | ||
|
|
2e432c9d17 | ||
|
|
6637810fe6 | ||
|
|
8118557c17 | ||
|
|
1925726b96 | ||
|
|
acf7deea95 | ||
|
|
84fdbbaaa1 | ||
|
|
638663b28e | ||
|
|
df838a57fd | ||
|
|
b2b73ecb62 | ||
|
|
2b7b44c3e4 |
22
.ci/actool.sh
Executable file
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
# SPDX-FileCopyrightText: Copyright 2026 crueter
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
_svg=dev.eden_emu.eden.svg
|
||||||
|
_icon=dist/eden.icon
|
||||||
|
_composed="$_icon/Assets/$_svg"
|
||||||
|
_svg="dist/$_svg"
|
||||||
|
|
||||||
|
rm "$_composed"
|
||||||
|
cp "$_svg" "$_composed"
|
||||||
|
|
||||||
|
xcrun actool "$_icon" \
|
||||||
|
--compile dist \
|
||||||
|
--platform macosx \
|
||||||
|
--minimum-deployment-target 11.0 \
|
||||||
|
--app-icon eden \
|
||||||
|
--output-partial-info-plist /dev/null
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
NUM_JOBS=$(nproc 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null || echo 2)
|
NUM_JOBS=$(nproc 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null || echo 2)
|
||||||
|
|
@ -29,6 +29,7 @@ Options:
|
||||||
-b, --build-type <TYPE> Build type (variable: TYPE)
|
-b, --build-type <TYPE> Build type (variable: TYPE)
|
||||||
Valid values are: Release, RelWithDebInfo, Debug
|
Valid values are: Release, RelWithDebInfo, Debug
|
||||||
Default: Debug
|
Default: Debug
|
||||||
|
-n, --nightly Create a nightly build.
|
||||||
|
|
||||||
Extra arguments are passed to CMake (e.g. -DCMAKE_OPTION_NAME=VALUE)
|
Extra arguments are passed to CMake (e.g. -DCMAKE_OPTION_NAME=VALUE)
|
||||||
Set the CCACHE variable to "true" to enable build caching.
|
Set the CCACHE variable to "true" to enable build caching.
|
||||||
|
|
@ -61,6 +62,7 @@ while true; do
|
||||||
-r|--release) DEVEL=false ;;
|
-r|--release) DEVEL=false ;;
|
||||||
-t|--target) target "$2"; shift ;;
|
-t|--target) target "$2"; shift ;;
|
||||||
-b|--build-type) type "$2"; shift ;;
|
-b|--build-type) type "$2"; shift ;;
|
||||||
|
-n|--nightly) NIGHTLY=true ;;
|
||||||
-h|--help) usage ;;
|
-h|--help) usage ;;
|
||||||
*) break ;;
|
*) break ;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -101,7 +103,20 @@ cd src/android
|
||||||
chmod +x ./gradlew
|
chmod +x ./gradlew
|
||||||
|
|
||||||
set -- "$@" -DUSE_CCACHE="${CCACHE}"
|
set -- "$@" -DUSE_CCACHE="${CCACHE}"
|
||||||
[ "$DEVEL" != "true" ] && set -- "$@" -DENABLE_UPDATE_CHECKER=ON
|
|
||||||
|
nightly() {
|
||||||
|
[ "$NIGHTLY" = "true" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
if nightly || [ "$DEVEL" != "true" ]; then
|
||||||
|
set -- "$@" -DENABLE_UPDATE_CHECKER=ON
|
||||||
|
fi
|
||||||
|
|
||||||
|
if nightly; then
|
||||||
|
NIGHTLY=true
|
||||||
|
else
|
||||||
|
NIGHTLY=false
|
||||||
|
fi
|
||||||
|
|
||||||
echo "-- building..."
|
echo "-- building..."
|
||||||
|
|
||||||
|
|
@ -110,6 +125,7 @@ echo "-- building..."
|
||||||
-Dorg.gradle.parallel="${CCACHE}" \
|
-Dorg.gradle.parallel="${CCACHE}" \
|
||||||
-Dorg.gradle.workers.max="${NUM_JOBS}" \
|
-Dorg.gradle.workers.max="${NUM_JOBS}" \
|
||||||
-PYUZU_ANDROID_ARGS="$*" \
|
-PYUZU_ANDROID_ARGS="$*" \
|
||||||
|
-Pnightly="$NIGHTLY" \
|
||||||
--info
|
--info
|
||||||
|
|
||||||
if [ -n "${ANDROID_KEYSTORE_B64}" ]; then
|
if [ -n "${ANDROID_KEYSTORE_B64}" ]; then
|
||||||
|
|
|
||||||
|
|
@ -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=2026
|
YEAR=$(date "+%Y")
|
||||||
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|*CMakeLists.txt)
|
*.cmake|*.sh|*.ps1|*.py|*.rb|*.perl|*.pl|*.nix|*CMakeLists.txt)
|
||||||
begin="#"
|
begin="#"
|
||||||
;;
|
;;
|
||||||
*.kt*|*.cpp|*.h)
|
*.kt|*.kts|*.cpp|*.h|*.qml|*.c|*.hpp|*.hxx|*.cxx|*.h.in|*.inc)
|
||||||
begin="//"
|
begin="//"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
@ -185,15 +185,16 @@ 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
|
||||||
*.cmake|*CMakeLists.txt)
|
# Windows Powershell wont use shebangs
|
||||||
|
*.cmake|*.ps1|*CMakeLists.txt)
|
||||||
begin="#"
|
begin="#"
|
||||||
shell="false"
|
shell="false"
|
||||||
;;
|
;;
|
||||||
*.sh)
|
*.sh|*.py|*.rb|*.perl|*.pl|*.nix)
|
||||||
begin="#"
|
begin="#"
|
||||||
shell=true
|
shell=true
|
||||||
;;
|
;;
|
||||||
*.kt*|*.cpp|*.h)
|
*)
|
||||||
begin="//"
|
begin="//"
|
||||||
shell="false"
|
shell="false"
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
|
|
@ -1,117 +0,0 @@
|
||||||
#!/bin/bash -e
|
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: Copyright 2025 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 \
|
|
||||||
-DYUZU_ENABLE_LTO=ON \
|
|
||||||
-DDYNARMIC_ENABLE_LTO=ON \
|
|
||||||
"${EXTRA_CMAKE_FLAGS[@]}"
|
|
||||||
|
|
||||||
ninja -j${NPROC}
|
|
||||||
|
|
||||||
if [ -d "bin/Release" ]; then
|
|
||||||
strip -s bin/Release/*
|
|
||||||
else
|
|
||||||
strip -s bin/*
|
|
||||||
fi
|
|
||||||
|
|
@ -1,250 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,153 +0,0 @@
|
||||||
#!/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!"
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
#!/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 ..
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
#!/bin/bash -ex
|
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: Copyright 2025 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} \
|
|
||||||
-DYUZU_ENABLE_LTO=ON \
|
|
||||||
-DCMAKE_EXE_LINKER_FLAGS=" /LTCG" \
|
|
||||||
-DDYNARMIC_ENABLE_LTO=ON \
|
|
||||||
-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
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
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"
|
|
||||||
|
|
@ -3,6 +3,8 @@ name: Check Strings
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-strings:
|
check-strings:
|
||||||
|
|
@ -10,7 +12,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 1
|
||||||
|
|
||||||
- name: Find Unused Strings
|
- name: Find Unused Strings
|
||||||
run: ./tools/unused-strings.sh
|
run: ./tools/unused-strings.sh
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
name: tx-pull
|
name: tx-pull
|
||||||
|
|
||||||
on:
|
on:
|
||||||
# monday, wednesday, saturday at 2pm
|
# tuesday, saturday at 2pm
|
||||||
schedule:
|
schedule:
|
||||||
cron:
|
- cron: '0 14 * * 2,6'
|
||||||
- '0 14 * * 1,3,6'
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
@ -59,4 +58,3 @@ jobs:
|
||||||
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
||||||
-H 'Content-Type: application/json' \
|
-H 'Content-Type: application/json' \
|
||||||
-d "@data.json" --fail
|
-d "@data.json" --fail
|
||||||
|
|
||||||
54
.forgejo/workflows/update-deps.yml
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
name: update-deps
|
||||||
|
|
||||||
|
on:
|
||||||
|
# saturday at noon
|
||||||
|
schedule:
|
||||||
|
- cron: '0 12 * * 6'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
tx-update:
|
||||||
|
runs-on: source
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Update deps
|
||||||
|
run: |
|
||||||
|
git config --local user.name "Eden CI"
|
||||||
|
git config --local user.email "ci@eden-emu.dev"
|
||||||
|
git config --local user.signingkey "D57652791BB25D2A"
|
||||||
|
git config --local push.autoSetupRemote true
|
||||||
|
|
||||||
|
git remote set-url origin ci:eden-emu/eden.git
|
||||||
|
|
||||||
|
DATE=$(date +"%b %d")
|
||||||
|
echo "DATE=$DATE" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
|
git switch -c update-deps-$DATE
|
||||||
|
tools/cpmutil.sh package update -ac
|
||||||
|
git push
|
||||||
|
|
||||||
|
- name: Create PR
|
||||||
|
run: |
|
||||||
|
TITLE="[externals] Dependency update for $DATE"
|
||||||
|
BODY="$(git show -s --format='%b')"
|
||||||
|
BASE=master
|
||||||
|
HEAD=update-deps-$DATE
|
||||||
|
|
||||||
|
cat << EOF > data.json
|
||||||
|
{
|
||||||
|
"base": "$BASE",
|
||||||
|
"body": "$BODY",
|
||||||
|
"head": "$HEAD",
|
||||||
|
"title": "$TITLE"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
curl -X 'POST' \
|
||||||
|
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
|
||||||
|
-H 'accept: application/json' \
|
||||||
|
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d "@data.json" --fail
|
||||||
1
.gitignore
vendored
|
|
@ -63,3 +63,4 @@ artifacts
|
||||||
*.AppImage*
|
*.AppImage*
|
||||||
/install*
|
/install*
|
||||||
vulkansdk*.exe
|
vulkansdk*.exe
|
||||||
|
*.tar.zst
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
--- a/libs/context/CMakeLists.txt 2025-09-08 00:42:31.303651800 -0400
|
|
||||||
+++ b/libs/context/CMakeLists.txt 2025-09-08 00:42:40.592184300 -0400
|
|
||||||
@@ -146,7 +146,7 @@
|
|
||||||
set(ASM_LANGUAGE ASM)
|
|
||||||
endif()
|
|
||||||
elseif(BOOST_CONTEXT_ASSEMBLER STREQUAL armasm)
|
|
||||||
- set(ASM_LANGUAGE ASM_ARMASM)
|
|
||||||
+ set(ASM_LANGUAGE ASM_MARMASM)
|
|
||||||
else()
|
|
||||||
set(ASM_LANGUAGE ASM_MASM)
|
|
||||||
endif()
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
diff --git a/libs/context/CMakeLists.txt b/libs/context/CMakeLists.txt
|
|
||||||
index 8210f65..0e59dd7 100644
|
|
||||||
--- a/libs/context/CMakeLists.txt
|
|
||||||
+++ b/libs/context/CMakeLists.txt
|
|
||||||
@@ -186,7 +186,8 @@ if(BOOST_CONTEXT_IMPLEMENTATION STREQUAL "fcontext")
|
|
||||||
set_property(SOURCE ${ASM_SOURCES} APPEND PROPERTY COMPILE_OPTIONS "/safeseh")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
- else() # masm
|
|
||||||
+ # armasm doesn't support most of these options
|
|
||||||
+ elseif(NOT BOOST_CONTEXT_ASSEMBLER STREQUAL armasm) # masm
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
||||||
set_property(SOURCE ${ASM_SOURCES} APPEND PROPERTY COMPILE_OPTIONS "-x" "assembler-with-cpp")
|
|
||||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
||||||
25
.patch/cpp-jwt/0001-fix-missing-decl.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
From ce992811fe8eb5ea7ad37e5b255bfecb0c313928 Mon Sep 17 00:00:00 2001
|
||||||
|
From: crueter <crueter@crueter.xyz>
|
||||||
|
Date: Sun, 7 Sep 2025 23:43:57 -0400
|
||||||
|
Subject: [PATCH] [algorithm] fix missing declaration error
|
||||||
|
|
||||||
|
Projects with restrictive error options won't compile without this
|
||||||
|
|
||||||
|
Signed-off-by: crueter <crueter@crueter.xyz>
|
||||||
|
---
|
||||||
|
include/jwt/algorithm.hpp | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/jwt/algorithm.hpp b/include/jwt/algorithm.hpp
|
||||||
|
index 0e3b843..35347fe 100644
|
||||||
|
--- a/include/jwt/algorithm.hpp
|
||||||
|
+++ b/include/jwt/algorithm.hpp
|
||||||
|
@@ -63,6 +63,8 @@ using sign_func_t = sign_result_t (*) (const jwt::string_view key,
|
||||||
|
using verify_func_t = verify_result_t (*) (const jwt::string_view key,
|
||||||
|
const jwt::string_view head,
|
||||||
|
const jwt::string_view jwt_sign);
|
||||||
|
+
|
||||||
|
+verify_result_t is_secret_a_public_key(const jwt::string_view secret);
|
||||||
|
|
||||||
|
namespace algo {
|
||||||
|
|
||||||
|
|
@ -1,52 +1,62 @@
|
||||||
From e1a946ffb79022d38351a0623f819a5419965c3e Mon Sep 17 00:00:00 2001
|
From 436fc1978c78edd085d99b33275b24be0ac96aa0 Mon Sep 17 00:00:00 2001
|
||||||
From: crueter <crueter@eden-emu.dev>
|
From: crueter <crueter@eden-emu.dev>
|
||||||
Date: Fri, 24 Oct 2025 23:41:09 -0700
|
Date: Sun, 1 Feb 2026 16:21:10 -0500
|
||||||
Subject: [PATCH] [build] Fix MinGW missing GetAddrInfoExCancel definition
|
Subject: [PATCH] Fix build on MinGW
|
||||||
|
|
||||||
MinGW does not define GetAddrInfoExCancel in its wstcpi whatever header,
|
MinGW doesn't define GetAddrInfoExCancel.
|
||||||
so to get around this we can just load it with GetProcAddress et al.
|
|
||||||
|
|
||||||
Signed-off-by: crueter <crueter@eden-emu.dev>
|
Signed-off-by: crueter <crueter@eden-emu.dev>
|
||||||
---
|
---
|
||||||
httplib.h | 14 ++++++++++++--
|
httplib.h | 18 ++++++++++++++++--
|
||||||
1 file changed, 12 insertions(+), 2 deletions(-)
|
1 file changed, 16 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/httplib.h b/httplib.h
|
diff --git a/httplib.h b/httplib.h
|
||||||
index e15ba44..90a76dc 100644
|
index ec8d2a2..5f9a510 100644
|
||||||
--- a/httplib.h
|
--- a/httplib.h
|
||||||
+++ b/httplib.h
|
+++ b/httplib.h
|
||||||
@@ -203,11 +203,13 @@
|
@@ -203,14 +203,17 @@
|
||||||
#error Sorry, Visual Studio versions prior to 2015 are not supported
|
#error Sorry, Visual Studio versions prior to 2015 are not supported
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
-#pragma comment(lib, "ws2_32.lib")
|
-#pragma comment(lib, "ws2_32.lib")
|
||||||
-
|
-
|
||||||
|
#ifndef _SSIZE_T_DEFINED
|
||||||
using ssize_t = __int64;
|
using ssize_t = __int64;
|
||||||
|
#define _SSIZE_T_DEFINED
|
||||||
|
#endif
|
||||||
#endif // _MSC_VER
|
#endif // _MSC_VER
|
||||||
|
|
||||||
+#if defined(_MSC_VER) || defined(__MINGW32__)
|
+#if defined(_MSC_VER) || defined(__MINGW32__)
|
||||||
+#pragma comment(lib, "ws2_32.lib")
|
+#pragma comment(lib, "ws2_32.lib")
|
||||||
+#endif
|
+#endif
|
||||||
|
+
|
||||||
+
|
+
|
||||||
#ifndef S_ISREG
|
#ifndef S_ISREG
|
||||||
#define S_ISREG(m) (((m) & S_IFREG) == S_IFREG)
|
#define S_ISREG(m) (((m) & S_IFREG) == S_IFREG)
|
||||||
#endif // S_ISREG
|
#endif // S_ISREG
|
||||||
@@ -3557,7 +3559,15 @@ inline int getaddrinfo_with_timeout(const char *node, const char *service,
|
@@ -4528,7 +4531,17 @@ inline int getaddrinfo_with_timeout(const char *node, const char *service,
|
||||||
auto wait_result =
|
auto wait_result =
|
||||||
::WaitForSingleObject(event, static_cast<DWORD>(timeout_sec * 1000));
|
::WaitForSingleObject(event, static_cast<DWORD>(timeout_sec * 1000));
|
||||||
if (wait_result == WAIT_TIMEOUT) {
|
if (wait_result == WAIT_TIMEOUT) {
|
||||||
+#ifdef __MINGW32__
|
+#ifdef __MINGW32__
|
||||||
+ typedef INT (WSAAPI *PFN_GETADDRINFOEXCANCEL)(HANDLE *CancelHandle);
|
+ typedef INT(WSAAPI * PFN_GETADDRINFOEXCANCEL)(HANDLE * CancelHandle);
|
||||||
+ auto wsdll = LoadLibraryW((wchar_t*) "ws2_32.lib");
|
+ auto wsdll = LoadLibraryW((wchar_t *)"ws2_32.lib");
|
||||||
+ PFN_GETADDRINFOEXCANCEL GetAddrInfoExCancel = (PFN_GETADDRINFOEXCANCEL) GetProcAddress(wsdll, "GetAddrInfoExCancel");
|
+ PFN_GETADDRINFOEXCANCEL GetAddrInfoExCancel =
|
||||||
|
+ (PFN_GETADDRINFOEXCANCEL)GetProcAddress(wsdll, "GetAddrInfoExCancel");
|
||||||
+
|
+
|
||||||
+ if (cancel_handle) { GetAddrInfoExCancel(&cancel_handle); }
|
+ if (cancel_handle) { GetAddrInfoExCancel(&cancel_handle); }
|
||||||
+#else
|
+#else
|
||||||
if (cancel_handle) { ::GetAddrInfoExCancel(&cancel_handle); }
|
if (cancel_handle) { ::GetAddrInfoExCancel(&cancel_handle); }
|
||||||
+#endif
|
+#endif
|
||||||
|
+
|
||||||
::CloseHandle(event);
|
::CloseHandle(event);
|
||||||
return EAI_AGAIN;
|
return EAI_AGAIN;
|
||||||
}
|
}
|
||||||
--
|
@@ -13952,3 +13965,4 @@ inline SSL_CTX *Client::ssl_context() const {
|
||||||
2.51.0
|
} // namespace httplib
|
||||||
|
|
||||||
|
#endif // CPPHTTPLIB_HTTPLIB_H
|
||||||
|
+
|
||||||
|
--
|
||||||
|
2.51.2
|
||||||
|
|
||||||
|
|
|
||||||
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}
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
diff --git a/library/aesni.h b/library/aesni.h
|
|
||||||
index 754c984c79..59e27afd3e 100644
|
|
||||||
--- a/library/aesni.h
|
|
||||||
+++ b/library/aesni.h
|
|
||||||
@@ -35,7 +35,7 @@
|
|
||||||
/* GCC-like compilers: currently, we only support intrinsics if the requisite
|
|
||||||
* target flag is enabled when building the library (e.g. `gcc -mpclmul -msse2`
|
|
||||||
* or `clang -maes -mpclmul`). */
|
|
||||||
-#if (defined(__GNUC__) || defined(__clang__)) && defined(__AES__) && defined(__PCLMUL__)
|
|
||||||
+#if defined(__GNUC__) || defined(__clang__)
|
|
||||||
#define MBEDTLS_AESNI_HAVE_INTRINSICS
|
|
||||||
#endif
|
|
||||||
/* For 32-bit, we only support intrinsics */
|
|
||||||
diff --git a/library/aesni.c b/library/aesni.c
|
|
||||||
index 2857068..3e104ab 100644
|
|
||||||
--- a/library/aesni.c
|
|
||||||
+++ b/library/aesni.c
|
|
||||||
@@ -31,16 +31,14 @@
|
|
||||||
#include <immintrin.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if defined(MBEDTLS_ARCH_IS_X86)
|
|
||||||
#if defined(MBEDTLS_COMPILER_IS_GCC)
|
|
||||||
#pragma GCC push_options
|
|
||||||
#pragma GCC target ("pclmul,sse2,aes")
|
|
||||||
#define MBEDTLS_POP_TARGET_PRAGMA
|
|
||||||
-#elif defined(__clang__) && (__clang_major__ >= 5)
|
|
||||||
+#elif defined(__clang__)
|
|
||||||
#pragma clang attribute push (__attribute__((target("pclmul,sse2,aes"))), apply_to=function)
|
|
||||||
#define MBEDTLS_POP_TARGET_PRAGMA
|
|
||||||
#endif
|
|
||||||
-#endif
|
|
||||||
|
|
||||||
#if !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
|
|
||||||
/*
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
diff --git a/library/common.h b/library/common.h
|
|
||||||
index 50f2a29..c60d9dc 100644
|
|
||||||
--- a/library/common.h
|
|
||||||
+++ b/library/common.h
|
|
||||||
@@ -19,11 +19,11 @@
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
-#if defined(__ARM_NEON)
|
|
||||||
-#include <arm_neon.h>
|
|
||||||
+#if defined(MBEDTLS_PLATFORM_IS_WINDOWS_ON_ARM64)
|
|
||||||
+#include <arm64_neon.h>
|
|
||||||
#define MBEDTLS_HAVE_NEON_INTRINSICS
|
|
||||||
-#elif defined(MBEDTLS_PLATFORM_IS_WINDOWS_ON_ARM64)
|
|
||||||
-#include <arm64_neon.h>
|
|
||||||
+#elif (defined(__ANDROID__) && defined(__ARM_FP)) || defined(__ARM_NEON)
|
|
||||||
+#include <arm_neon.h>
|
|
||||||
#define MBEDTLS_HAVE_NEON_INTRINSICS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
diff --git a/include/mcl/assert.hpp b/include/mcl/assert.hpp
|
|
||||||
index f77dbe7..9ec0b9c 100644
|
|
||||||
--- a/include/mcl/assert.hpp
|
|
||||||
+++ b/include/mcl/assert.hpp
|
|
||||||
@@ -23,8 +23,11 @@ template<typename... Ts>
|
|
||||||
|
|
||||||
} // namespace mcl::detail
|
|
||||||
|
|
||||||
+#ifndef UNREACHABLE
|
|
||||||
#define UNREACHABLE() ASSERT_FALSE("Unreachable code!")
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
+#ifndef ASSERT
|
|
||||||
#define ASSERT(expr) \
|
|
||||||
[&] { \
|
|
||||||
if (std::is_constant_evaluated()) { \
|
|
||||||
@@ -37,7 +40,9 @@ template<typename... Ts>
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
}()
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
+#ifndef ASSERT_MSG
|
|
||||||
#define ASSERT_MSG(expr, ...) \
|
|
||||||
[&] { \
|
|
||||||
if (std::is_constant_evaluated()) { \
|
|
||||||
@@ -50,13 +55,24 @@ template<typename... Ts>
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
}()
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
+#ifndef ASSERT_FALSE
|
|
||||||
#define ASSERT_FALSE(...) ::mcl::detail::assert_terminate("false", __VA_ARGS__)
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#if defined(NDEBUG) || defined(MCL_IGNORE_ASSERTS)
|
|
||||||
-# define DEBUG_ASSERT(expr) ASSUME(expr)
|
|
||||||
-# define DEBUG_ASSERT_MSG(expr, ...) ASSUME(expr)
|
|
||||||
+# ifndef DEBUG_ASSERT
|
|
||||||
+# define DEBUG_ASSERT(expr) ASSUME(expr)
|
|
||||||
+# endif
|
|
||||||
+# ifndef DEBUG_ASSERT_MSG
|
|
||||||
+# define DEBUG_ASSERT_MSG(expr, ...) ASSUME(expr)
|
|
||||||
+# endif
|
|
||||||
#else
|
|
||||||
-# define DEBUG_ASSERT(expr) ASSERT(expr)
|
|
||||||
-# define DEBUG_ASSERT_MSG(expr, ...) ASSERT_MSG(expr, __VA_ARGS__)
|
|
||||||
+# ifndef DEBUG_ASSERT
|
|
||||||
+# define DEBUG_ASSERT(expr) ASSERT(expr)
|
|
||||||
+# endif
|
|
||||||
+# ifndef DEBUG_ASSERT_MSG
|
|
||||||
+# define DEBUG_ASSERT_MSG(expr, ...) ASSERT_MSG(expr, __VA_ARGS__)
|
|
||||||
+# endif
|
|
||||||
#endif
|
|
||||||
214
.patch/openssl-cmake/0001-cpmutil-compat.patch
Normal file
|
|
@ -0,0 +1,214 @@
|
||||||
|
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
|
||||||
|
|
||||||
54
.patch/openssl-cmake/0002-use-ccache.patch
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
From d46675fbb61eb6d51e478023ce4075e545ad4cfd Mon Sep 17 00:00:00 2001
|
||||||
|
From: crueter <crueter@eden-emu.dev>
|
||||||
|
Date: Sat, 30 May 2026 21:11:55 -0400
|
||||||
|
Subject: [PATCH] use ccache
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 1 -
|
||||||
|
cmake/ConfigureOpenSSL.cmake | 12 +++---------
|
||||||
|
2 files changed, 3 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 9ffd5a0..9ff14c8 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -28,7 +28,6 @@ option(OPENSSL_ENABLE_PARALLEL "Build and test in parallel if possible" ON)
|
||||||
|
option(OPENSSL_INSTALL "Install OpenSSL components to the <prefix> directory" OFF)
|
||||||
|
option(OPENSSL_INSTALL_CERT "Install cert.pem to the <openssldir> directory" OFF)
|
||||||
|
option(OPENSSL_TEST "Enable testing and build OpenSSL self tests" OFF)
|
||||||
|
-option(OPENSSL_USE_CCACHE "Use ccache if available" ON)
|
||||||
|
|
||||||
|
if("${OPENSSL_BUILD_TARGET}" STREQUAL "")
|
||||||
|
# Makefile target for build
|
||||||
|
diff --git a/cmake/ConfigureOpenSSL.cmake b/cmake/ConfigureOpenSSL.cmake
|
||||||
|
index 211c18b..3d8cbed 100644
|
||||||
|
--- a/cmake/ConfigureOpenSSL.cmake
|
||||||
|
+++ b/cmake/ConfigureOpenSSL.cmake
|
||||||
|
@@ -69,15 +69,9 @@ function(apply_ccache FILE)
|
||||||
|
message(FATAL_ERROR "Couldn't find Makefile")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
- if(OPENSSL_USE_CCACHE)
|
||||||
|
- find_program(CCACHE ccache)
|
||||||
|
-
|
||||||
|
- if(NOT CCACHE)
|
||||||
|
- return()
|
||||||
|
- endif()
|
||||||
|
-
|
||||||
|
+ if(USE_CCACHE)
|
||||||
|
file(READ ${FILE} MAKEFILE)
|
||||||
|
- string(REPLACE "\nCC=" "\nCC=ccache " MAKEFILE "${MAKEFILE}")
|
||||||
|
+ string(REPLACE "\nCC=" "\nCC=${CCACHE_BINARY} " MAKEFILE "${MAKEFILE}")
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
string(REPLACE "/Zi /Fdossl_static.pdb " "" MAKEFILE "${MAKEFILE}")
|
||||||
|
@@ -171,4 +165,4 @@ function(configure_openssl)
|
||||||
|
string(REPLACE "/W3" "/W0" MAKEFILE "${MAKEFILE}")
|
||||||
|
file(WRITE ${OPENSSL_MAKEFILE} "${MAKEFILE}")
|
||||||
|
endif()
|
||||||
|
-endfunction()
|
||||||
|
\ No newline at end of file
|
||||||
|
+endfunction()
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
28
.patch/openssl-cmake/0003-use-cmake-compiler-flags.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
From 4a3cc92a7abad403529ed1cb4255ca63d9252de4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: crueter <crueter@eden-emu.dev>
|
||||||
|
Date: Sat, 30 May 2026 21:48:42 -0400
|
||||||
|
Subject: [PATCH 2/2] use cmake compiler flags
|
||||||
|
|
||||||
|
---
|
||||||
|
cmake/ConfigureOpenSSL.cmake | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/cmake/ConfigureOpenSSL.cmake b/cmake/ConfigureOpenSSL.cmake
|
||||||
|
index 3d8cbed..3012e05 100644
|
||||||
|
--- a/cmake/ConfigureOpenSSL.cmake
|
||||||
|
+++ b/cmake/ConfigureOpenSSL.cmake
|
||||||
|
@@ -135,7 +135,10 @@ function(configure_openssl)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
- COMMAND ${CONFIGURE_COMMAND}
|
||||||
|
+ COMMAND ${CMAKE_COMMAND} -E env
|
||||||
|
+ "CFLAGS=${CMAKE_C_FLAGS}"
|
||||||
|
+ "CXXFLAGS=${CMAKE_CXX_FLAGS}"
|
||||||
|
+ ${CONFIGURE_COMMAND}
|
||||||
|
WORKING_DIRECTORY ${CONFIGURE_BUILD_DIR}
|
||||||
|
${VERBOSE_OPTION}
|
||||||
|
COMMAND_ERROR_IS_FATAL ANY
|
||||||
|
--
|
||||||
|
2.54.0
|
||||||
|
|
||||||
39
.patch/openssl-cmake/0004-use-shell-wrapper.patch
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
--- a/CMakeLists.txt 2026-06-01 23:53:16.498043856 -0400
|
||||||
|
+++ b/CMakeLists.txt 2026-06-01 23:53:23.910543615 -0400
|
||||||
|
@@ -312,13 +312,29 @@
|
||||||
|
${OPENSSL_SHARED_CRYPTO_LIBRARY}
|
||||||
|
${OPENSSL_SHARED_SSL_LIBRARY}
|
||||||
|
)
|
||||||
|
-add_custom_command(
|
||||||
|
- OUTPUT ${OPENSSL_BUILD_OUTPUT}
|
||||||
|
- COMMAND ${OPENSSL_BUILD_COMMAND}
|
||||||
|
- DEPENDS ${OPENSSL_SOURCES}
|
||||||
|
- WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
|
||||||
|
- VERBATIM
|
||||||
|
-)
|
||||||
|
+if (WIN32)
|
||||||
|
+ add_custom_command(
|
||||||
|
+ OUTPUT ${OPENSSL_BUILD_OUTPUT}
|
||||||
|
+ COMMAND ${OPENSSL_BUILD_COMMAND}
|
||||||
|
+ DEPENDS ${OPENSSL_SOURCES}
|
||||||
|
+ WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}
|
||||||
|
+ VERBATIM)
|
||||||
|
+else()
|
||||||
|
+ set(_openssl_build_script "${CMAKE_CURRENT_BINARY_DIR}/BuildOpenSSL.cmake")
|
||||||
|
+ file(WRITE ${_openssl_build_script}
|
||||||
|
+ "execute_process(\n"
|
||||||
|
+ " COMMAND ${OPENSSL_BUILD_COMMAND}\n"
|
||||||
|
+ " WORKING_DIRECTORY ${OpenSSL_BINARY_DIR}\n"
|
||||||
|
+ " RESULT_VARIABLE _r)\n"
|
||||||
|
+ "if(_r)\n"
|
||||||
|
+ " message(FATAL_ERROR \"OpenSSL build failed: \${_r}\")\n"
|
||||||
|
+ "endif()\n")
|
||||||
|
+ add_custom_command(
|
||||||
|
+ OUTPUT ${OPENSSL_BUILD_OUTPUT}
|
||||||
|
+ COMMAND ${CMAKE_COMMAND} -P ${_openssl_build_script}
|
||||||
|
+ DEPENDS ${OPENSSL_SOURCES}
|
||||||
|
+ VERBATIM)
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
if(PROJECT_IS_TOP_LEVEL)
|
||||||
|
add_custom_target(openssl-build ALL DEPENDS ${OPENSSL_BUILD_OUTPUT})
|
||||||
3665
.patch/openssl/0001-add-bundled-cert.patch
Normal file
28
.patch/opus/0001-disable-clang-runtime-neon.patch
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
From cc15da16e533b2a801934eab2dfeaf3c3949a1dc Mon Sep 17 00:00:00 2001
|
||||||
|
From: crueter <crueter@eden-emu.dev>
|
||||||
|
Date: Mon, 8 Sep 2025 12:28:55 -0400
|
||||||
|
Subject: [PATCH] [cmake] disable NEON runtime check on clang-cl
|
||||||
|
|
||||||
|
When enabling runtime NEON checking for clang-cl, the linker would error out with `undefined symbol: __emit`, since clang doesn't actually implement this instruction. Therefore it makes sense to disable the runtime check by default on this platform, until either this is fixed or a clang-cl compatible intrinsic check is added (I don't have enough knowledge of MSVC to do this)
|
||||||
|
---
|
||||||
|
cmake/OpusConfig.cmake | 7 ++++++-
|
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/cmake/OpusConfig.cmake b/cmake/OpusConfig.cmake
|
||||||
|
index e9319fbad..d0f459e88 100644
|
||||||
|
--- a/cmake/OpusConfig.cmake
|
||||||
|
+++ b/cmake/OpusConfig.cmake
|
||||||
|
@@ -71,7 +71,12 @@ elseif(OPUS_CPU_ARM AND NOT OPUS_DISABLE_INTRINSICS)
|
||||||
|
opus_detect_neon(COMPILER_SUPPORT_NEON)
|
||||||
|
if(COMPILER_SUPPORT_NEON)
|
||||||
|
option(OPUS_USE_NEON "Option to enable NEON" ON)
|
||||||
|
- option(OPUS_MAY_HAVE_NEON "Does runtime check for neon support" ON)
|
||||||
|
+ if (MSVC AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
|
+ set(NEON_RUNTIME_CHECK_DEFAULT OFF)
|
||||||
|
+ else()
|
||||||
|
+ set(NEON_RUNTIME_CHECK_DEFAULT ON)
|
||||||
|
+ endif()
|
||||||
|
+ option(OPUS_MAY_HAVE_NEON "Does runtime check for neon support" ${NEON_RUNTIME_CHECK_DEFAULT})
|
||||||
|
option(OPUS_PRESUME_NEON "Assume target CPU has NEON support" OFF)
|
||||||
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||||
|
set(OPUS_PRESUME_NEON ON)
|
||||||
153
.patch/opus/0002-no-install.patch
Normal file
|
|
@ -0,0 +1,153 @@
|
||||||
|
From bf455b67b4eaa446ffae5d25410b141b7b1b1082 Mon Sep 17 00:00:00 2001
|
||||||
|
From: crueter <crueter@eden-emu.dev>
|
||||||
|
Date: Mon, 8 Sep 2025 12:08:20 -0400
|
||||||
|
Subject: [PATCH] [cmake] `OPUS_INSTALL` option; only default install if root
|
||||||
|
project
|
||||||
|
|
||||||
|
Signed-off-by: crueter <crueter@eden-emu.dev>
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 112 ++++++++++++++++++++++++++++---------------------
|
||||||
|
1 file changed, 64 insertions(+), 48 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index fcf034b19..08b5e16f8 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -4,6 +4,13 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
|
include(OpusPackageVersion)
|
||||||
|
get_package_version(PACKAGE_VERSION PROJECT_VERSION)
|
||||||
|
|
||||||
|
+# root project detection
|
||||||
|
+if(DEFINED PROJECT_NAME)
|
||||||
|
+ set(root_project OFF)
|
||||||
|
+else()
|
||||||
|
+ set(root_project ON)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
project(Opus LANGUAGES C VERSION ${PROJECT_VERSION})
|
||||||
|
|
||||||
|
include(OpusFunctions)
|
||||||
|
@@ -83,12 +90,16 @@ set(OPUS_DNN_FLOAT_DEBUG_HELP_STR "Run DNN computations as float for debugging p
|
||||||
|
option(OPUS_DNN_FLOAT_DEBUG ${OPUS_DNN_FLOAT_DEBUG_HELP_STR} OFF)
|
||||||
|
add_feature_info(OPUS_DNN_FLOAT_DEBUG OPUS_DNN_FLOAT_DEBUG ${OPUS_DNN_FLOAT_DEBUG_HELP_STR})
|
||||||
|
|
||||||
|
+set(OPUS_INSTALL_HELP_STR "Install Opus targets")
|
||||||
|
+option(OPUS_INSTALL ${OPUS_INSTALL_HELP_STR} ${root_project})
|
||||||
|
+add_feature_info(OPUS_INSTALL OPUS_INSTALL ${OPUS_INSTALL_HELP_STR})
|
||||||
|
+
|
||||||
|
set(OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR "install pkg-config module.")
|
||||||
|
-option(OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR} ON)
|
||||||
|
+option(OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR} ${OPUS_INSTALL})
|
||||||
|
add_feature_info(OPUS_INSTALL_PKG_CONFIG_MODULE OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR})
|
||||||
|
|
||||||
|
set(OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR "install CMake package config module.")
|
||||||
|
-option(OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR} ON)
|
||||||
|
+option(OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR} ${OPUS_INSTALL})
|
||||||
|
add_feature_info(OPUS_INSTALL_CMAKE_CONFIG_MODULE OPUS_INSTALL_CMAKE_CONFIG_MODULE ${OPUS_INSTALL_CMAKE_CONFIG_MODULE_HELP_STR})
|
||||||
|
|
||||||
|
set(OPUS_DRED_HELP_STR "enable DRED.")
|
||||||
|
@@ -613,53 +624,58 @@ if(OPUS_BUILD_FRAMEWORK)
|
||||||
|
OUTPUT_NAME Opus)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-install(TARGETS opus
|
||||||
|
- EXPORT OpusTargets
|
||||||
|
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
- FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX}
|
||||||
|
- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/opus)
|
||||||
|
-
|
||||||
|
-if(OPUS_INSTALL_PKG_CONFIG_MODULE)
|
||||||
|
- set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||||
|
- set(exec_prefix ${CMAKE_INSTALL_PREFIX})
|
||||||
|
- set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||||
|
- set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
|
||||||
|
- set(VERSION ${PACKAGE_VERSION})
|
||||||
|
- if(HAVE_LIBM)
|
||||||
|
- set(LIBM "-lm")
|
||||||
|
+if (OPUS_INSTALL)
|
||||||
|
+ install(TARGETS opus
|
||||||
|
+ EXPORT OpusTargets
|
||||||
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
+ FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX}
|
||||||
|
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/opus)
|
||||||
|
+
|
||||||
|
+ if(OPUS_INSTALL_PKG_CONFIG_MODULE)
|
||||||
|
+ set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||||
|
+ set(exec_prefix ${CMAKE_INSTALL_PREFIX})
|
||||||
|
+ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
|
||||||
|
+ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
|
||||||
|
+ set(VERSION ${PACKAGE_VERSION})
|
||||||
|
+ if(HAVE_LIBM)
|
||||||
|
+ set(LIBM "-lm")
|
||||||
|
+ endif()
|
||||||
|
+ configure_file(opus.pc.in opus.pc)
|
||||||
|
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/opus.pc
|
||||||
|
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||||
|
+ endif()
|
||||||
|
+
|
||||||
|
+ if(OPUS_INSTALL_CMAKE_CONFIG_MODULE)
|
||||||
|
+ set(CPACK_GENERATOR TGZ)
|
||||||
|
+ include(CPack)
|
||||||
|
+ set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||||
|
+ install(EXPORT OpusTargets
|
||||||
|
+ NAMESPACE Opus::
|
||||||
|
+ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
|
||||||
|
+
|
||||||
|
+ include(CMakePackageConfigHelpers)
|
||||||
|
+
|
||||||
|
+ set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
+ configure_package_config_file(
|
||||||
|
+ ${PROJECT_SOURCE_DIR}/cmake/OpusConfig.cmake.in
|
||||||
|
+ OpusConfig.cmake
|
||||||
|
+ INSTALL_DESTINATION
|
||||||
|
+ ${CMAKE_INSTALL_PACKAGEDIR}
|
||||||
|
+ PATH_VARS
|
||||||
|
+ INCLUDE_INSTALL_DIR
|
||||||
|
+ INSTALL_PREFIX
|
||||||
|
+ ${CMAKE_INSTALL_PREFIX})
|
||||||
|
+
|
||||||
|
+ write_basic_package_version_file(OpusConfigVersion.cmake
|
||||||
|
+ VERSION ${PROJECT_VERSION}
|
||||||
|
+ COMPATIBILITY SameMajorVersion)
|
||||||
|
+
|
||||||
|
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpusConfig.cmake
|
||||||
|
+ ${CMAKE_CURRENT_BINARY_DIR}/OpusConfigVersion.cmake
|
||||||
|
+ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
|
||||||
|
endif()
|
||||||
|
- configure_file(opus.pc.in opus.pc)
|
||||||
|
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/opus.pc
|
||||||
|
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
-if(OPUS_INSTALL_CMAKE_CONFIG_MODULE)
|
||||||
|
- set(CPACK_GENERATOR TGZ)
|
||||||
|
- include(CPack)
|
||||||
|
- set(CMAKE_INSTALL_PACKAGEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||||
|
- install(EXPORT OpusTargets
|
||||||
|
- NAMESPACE Opus::
|
||||||
|
- DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
|
||||||
|
-
|
||||||
|
- include(CMakePackageConfigHelpers)
|
||||||
|
-
|
||||||
|
- set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
- configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/OpusConfig.cmake.in
|
||||||
|
- OpusConfig.cmake
|
||||||
|
- INSTALL_DESTINATION
|
||||||
|
- ${CMAKE_INSTALL_PACKAGEDIR}
|
||||||
|
- PATH_VARS
|
||||||
|
- INCLUDE_INSTALL_DIR
|
||||||
|
- INSTALL_PREFIX
|
||||||
|
- ${CMAKE_INSTALL_PREFIX})
|
||||||
|
- write_basic_package_version_file(OpusConfigVersion.cmake
|
||||||
|
- VERSION ${PROJECT_VERSION}
|
||||||
|
- COMPATIBILITY SameMajorVersion)
|
||||||
|
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpusConfig.cmake
|
||||||
|
- ${CMAKE_CURRENT_BINARY_DIR}/OpusConfigVersion.cmake
|
||||||
|
- DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(OPUS_BUILD_PROGRAMS)
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
|
|
||||||
index eb4e69e..3155805 100644
|
|
||||||
--- a/external/CMakeLists.txt
|
|
||||||
+++ b/external/CMakeLists.txt
|
|
||||||
@@ -72,7 +72,8 @@ if (SPIRV_TOOLS_USE_MIMALLOC)
|
|
||||||
pop_variable(MI_BUILD_TESTS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
-if (DEFINED SPIRV-Headers_SOURCE_DIR)
|
|
||||||
+# NetBSD doesn't have SPIRV-Headers readily available on system
|
|
||||||
+if (DEFINED SPIRV-Headers_SOURCE_DIR AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD")
|
|
||||||
# This allows flexible position of the SPIRV-Headers repo.
|
|
||||||
set(SPIRV_HEADER_DIR ${SPIRV-Headers_SOURCE_DIR})
|
|
||||||
else()
|
|
||||||
|
|
@ -1,287 +0,0 @@
|
||||||
From 67bf3d1381b1faf59e87001d6156ba4e21cada14 Mon Sep 17 00:00:00 2001
|
|
||||||
From: crueter <crueter@eden-emu.dev>
|
|
||||||
Date: Mon, 29 Dec 2025 21:22:36 -0500
|
|
||||||
Subject: [PATCH] [cmake] refactor: shared/static handling
|
|
||||||
|
|
||||||
This significantly redoes the way shared and static libraries are
|
|
||||||
handled. Now, it's controlled by two options: `SPIRV_TOOLS_BUILD_STATIC`
|
|
||||||
and `SPIRV_TOOLS_BUILD_SHARED`.
|
|
||||||
|
|
||||||
The default configuration (no `BUILD_SHARED_LIBS` set, options left at
|
|
||||||
default) is to build shared ONLY if this is the master project, or
|
|
||||||
static ONLY if this is a subproject (e.g. FetchContent, CPM.cmake). Also
|
|
||||||
I should note that static-only (i.e. no shared) is now a supported
|
|
||||||
target, this is done because projects including it as a submodule e.g.
|
|
||||||
on Android or Windows may prefer this.
|
|
||||||
|
|
||||||
Now the shared/static handling:
|
|
||||||
- static ON, shared OFF: Only generates `.a` libraries.
|
|
||||||
- static ON, shared ON: Generates `.a` libraries, but also
|
|
||||||
`libSPIRV-Tools.so`
|
|
||||||
- static OFF, shared ON: Only generates `.so` libraries.
|
|
||||||
|
|
||||||
Notable TODOs:
|
|
||||||
- SPIRV-Tools-shared.pc seems redundant--how should we handle which one
|
|
||||||
to use in the case of distributions that distribute both types (MSYS2
|
|
||||||
for instance)?
|
|
||||||
* *Note: pkgconfig sucks at this and usually just leaves it up to the
|
|
||||||
user, so the optimal solution may indeed be doing absolutely
|
|
||||||
nothing.* CMake is unaffected :)
|
|
||||||
- use namespaces in the CMake config files pleaaaaase
|
|
||||||
|
|
||||||
This is going to change things a good bit for package maintainers, but
|
|
||||||
cest la vie. It's for the greater good, I promise.
|
|
||||||
|
|
||||||
Signed-off-by: crueter <crueter@eden-emu.dev>
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 108 +++++++++++++++++++++++++-----------------
|
|
||||||
source/CMakeLists.txt | 62 ++++++++++++------------
|
|
||||||
2 files changed, 94 insertions(+), 76 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 4d843b4d2f..07201f690f 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -14,6 +14,15 @@
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.22.1)
|
|
||||||
|
|
||||||
+# master project detection--useful for FetchContent/submodule inclusion
|
|
||||||
+set(master_project OFF)
|
|
||||||
+set(subproject ON)
|
|
||||||
+
|
|
||||||
+if (NOT DEFINED PROJECT_NAME)
|
|
||||||
+ set(master_project ON)
|
|
||||||
+ set(subproject OFF)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
project(spirv-tools)
|
|
||||||
|
|
||||||
# Avoid a bug in CMake 3.22.1. By default it will set -std=c++11 for
|
|
||||||
@@ -135,46 +144,49 @@ if (DEFINED SPIRV_TOOLS_EXTRA_DEFINITIONS)
|
|
||||||
add_definitions(${SPIRV_TOOLS_EXTRA_DEFINITIONS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
-# Library build setting definitions:
|
|
||||||
-#
|
|
||||||
-# * SPIRV_TOOLS_BUILD_STATIC - ON or OFF - Defaults to ON.
|
|
||||||
-# If enabled the following targets will be created:
|
|
||||||
-# ${SPIRV_TOOLS}-static - STATIC library.
|
|
||||||
-# Has full public symbol visibility.
|
|
||||||
-# ${SPIRV_TOOLS}-shared - SHARED library.
|
|
||||||
-# Has default-hidden symbol visibility.
|
|
||||||
-# ${SPIRV_TOOLS} - will alias to one of above, based on BUILD_SHARED_LIBS.
|
|
||||||
-# If disabled the following targets will be created:
|
|
||||||
-# ${SPIRV_TOOLS} - either STATIC or SHARED based on SPIRV_TOOLS_LIBRARY_TYPE.
|
|
||||||
-# Has full public symbol visibility.
|
|
||||||
-# ${SPIRV_TOOLS}-shared - SHARED library.
|
|
||||||
-# Has default-hidden symbol visibility.
|
|
||||||
-#
|
|
||||||
-# * SPIRV_TOOLS_LIBRARY_TYPE - SHARED or STATIC.
|
|
||||||
-# Specifies the library type used for building SPIRV-Tools libraries.
|
|
||||||
-# Defaults to SHARED when BUILD_SHARED_LIBS=1, otherwise STATIC.
|
|
||||||
-#
|
|
||||||
-# * SPIRV_TOOLS_FULL_VISIBILITY - "${SPIRV_TOOLS}-static" or "${SPIRV_TOOLS}"
|
|
||||||
-# Evaluates to the SPIRV_TOOLS target library name that has no hidden symbols.
|
|
||||||
-# This is used by internal targets for accessing symbols that are non-public.
|
|
||||||
-# Note this target provides no API stability guarantees.
|
|
||||||
-#
|
|
||||||
-# Ideally, all of these will go away - see https://github.com/KhronosGroup/SPIRV-Tools/issues/3909.
|
|
||||||
-option(ENABLE_EXCEPTIONS_ON_MSVC "Build SPIRV-TOOLS with c++ exceptions enabled in MSVC" ON)
|
|
||||||
-option(SPIRV_TOOLS_BUILD_STATIC "Build ${SPIRV_TOOLS}-static target. ${SPIRV_TOOLS} will alias to ${SPIRV_TOOLS}-static or ${SPIRV_TOOLS}-shared based on BUILD_SHARED_LIBS" ON)
|
|
||||||
-if(SPIRV_TOOLS_BUILD_STATIC)
|
|
||||||
- set(SPIRV_TOOLS_FULL_VISIBILITY ${SPIRV_TOOLS}-static)
|
|
||||||
+# If BUILD_SHARED_LIBS is undefined, set it based on whether we are
|
|
||||||
+# the master project or a subproject
|
|
||||||
+if (NOT DEFINED BUILD_SHARED_LIBS)
|
|
||||||
+ set(BUILD_SHARED_LIBS ${master_project})
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+if (BUILD_SHARED_LIBS)
|
|
||||||
+ set(static_default OFF)
|
|
||||||
+else()
|
|
||||||
+ set(static_default ON)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+option(SPIRV_TOOLS_BUILD_SHARED "Build ${SPIRV_TOOLS} as a shared library"
|
|
||||||
+ ${BUILD_SHARED_LIBS})
|
|
||||||
+option(SPIRV_TOOLS_BUILD_STATIC "Build ${SPIRV_TOOLS} as a static library"
|
|
||||||
+ ${static_default})
|
|
||||||
+
|
|
||||||
+# Avoid conflict between the dll import library and
|
|
||||||
+# the static library (thanks microsoft)
|
|
||||||
+if(CMAKE_STATIC_LIBRARY_PREFIX STREQUAL "" AND
|
|
||||||
+ CMAKE_STATIC_LIBRARY_SUFFIX STREQUAL ".lib")
|
|
||||||
+ set(SPIRV_TOOLS_STATIC_LIBNAME "${SPIRV_TOOLS}-static")
|
|
||||||
+else()
|
|
||||||
+ set(SPIRV_TOOLS_STATIC_LIBNAME "${SPIRV_TOOLS}")
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+if (SPIRV_TOOLS_BUILD_STATIC)
|
|
||||||
+ # If building a static library at all, always build other libraries as static,
|
|
||||||
+ # and link to the static SPIRV-Tools library.
|
|
||||||
set(SPIRV_TOOLS_LIBRARY_TYPE "STATIC")
|
|
||||||
-else(SPIRV_TOOLS_BUILD_STATIC)
|
|
||||||
- set(SPIRV_TOOLS_FULL_VISIBILITY ${SPIRV_TOOLS})
|
|
||||||
- if (NOT DEFINED SPIRV_TOOLS_LIBRARY_TYPE)
|
|
||||||
- if(BUILD_SHARED_LIBS)
|
|
||||||
- set(SPIRV_TOOLS_LIBRARY_TYPE "SHARED")
|
|
||||||
- else()
|
|
||||||
- set(SPIRV_TOOLS_LIBRARY_TYPE "STATIC")
|
|
||||||
- endif()
|
|
||||||
- endif()
|
|
||||||
-endif(SPIRV_TOOLS_BUILD_STATIC)
|
|
||||||
+ set(SPIRV_TOOLS_FULL_VISIBILITY ${SPIRV_TOOLS}-static)
|
|
||||||
+elseif (SPIRV_TOOLS_BUILD_SHARED)
|
|
||||||
+ # If only building a shared library, link other libraries to the
|
|
||||||
+ # shared library. Also, other libraries should be shared
|
|
||||||
+ set(SPIRV_TOOLS_LIBRARY_TYPE "SHARED")
|
|
||||||
+ set(SPIRV_TOOLS_FULL_VISIBILITY ${SPIRV_TOOLS}-shared)
|
|
||||||
+else()
|
|
||||||
+ message(FATAL_ERROR "You must set one of "
|
|
||||||
+ "SPIRV_TOOLS_BUILD_STATIC or SPIRV_TOOLS_BUILD_SHARED!")
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+option(ENABLE_EXCEPTIONS_ON_MSVC
|
|
||||||
+ "Build SPIRV-TOOLS with C++ exceptions enabled in MSVC" ON)
|
|
||||||
|
|
||||||
function(spvtools_default_compile_options TARGET)
|
|
||||||
target_compile_options(${TARGET} PRIVATE ${SPIRV_WARNINGS})
|
|
||||||
@@ -372,7 +384,7 @@ if (NOT "${SPIRV_SKIP_TESTS}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(SPIRV_LIBRARIES "-lSPIRV-Tools-opt -lSPIRV-Tools -lSPIRV-Tools-link")
|
|
||||||
-set(SPIRV_SHARED_LIBRARIES "-lSPIRV-Tools-shared")
|
|
||||||
+set(SPIRV_SHARED_LIBRARIES "-lSPIRV-Tools")
|
|
||||||
|
|
||||||
# Build pkg-config file
|
|
||||||
# Use a first-class target so it's regenerated when relevant files are updated.
|
|
||||||
@@ -388,7 +400,12 @@ add_custom_command(
|
|
||||||
-DSPIRV_LIBRARIES=${SPIRV_LIBRARIES}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake
|
|
||||||
DEPENDS "CHANGES" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools.pc.in" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake")
|
|
||||||
-add_custom_command(
|
|
||||||
+
|
|
||||||
+set(pc_files ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools.pc)
|
|
||||||
+
|
|
||||||
+# TODO(crueter): remove?
|
|
||||||
+if (SPIRV_TOOLS_BUILD_SHARED)
|
|
||||||
+ add_custom_command(
|
|
||||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc
|
|
||||||
COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DCHANGES_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CHANGES
|
|
||||||
@@ -400,9 +417,12 @@ add_custom_command(
|
|
||||||
-DSPIRV_SHARED_LIBRARIES=${SPIRV_SHARED_LIBRARIES}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake
|
|
||||||
DEPENDS "CHANGES" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools-shared.pc.in" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake")
|
|
||||||
-add_custom_target(spirv-tools-pkg-config
|
|
||||||
- ALL
|
|
||||||
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools.pc)
|
|
||||||
+ set(pc_files ${pc_files} ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+add_custom_target(spirv-tools-pkg-config
|
|
||||||
+ ALL
|
|
||||||
+ DEPENDS ${pc_files})
|
|
||||||
|
|
||||||
# Install pkg-config file
|
|
||||||
if (ENABLE_SPIRV_TOOLS_INSTALL)
|
|
||||||
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
|
|
||||||
index bfa1e661bc..fd3712c70c 100644
|
|
||||||
--- a/source/CMakeLists.txt
|
|
||||||
+++ b/source/CMakeLists.txt
|
|
||||||
@@ -337,49 +337,44 @@ function(spirv_tools_default_target_options target)
|
|
||||||
)
|
|
||||||
set_property(TARGET ${target} PROPERTY FOLDER "SPIRV-Tools libraries")
|
|
||||||
spvtools_check_symbol_exports(${target})
|
|
||||||
- add_dependencies(${target} spirv-tools-build-version core_tables extinst_tables)
|
|
||||||
+ add_dependencies(${target}
|
|
||||||
+ spirv-tools-build-version core_tables extinst_tables)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
-# Always build ${SPIRV_TOOLS}-shared. This is expected distro packages, and
|
|
||||||
-# unlike the other SPIRV_TOOLS target, defaults to hidden symbol visibility.
|
|
||||||
-add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES})
|
|
||||||
-if (SPIRV_TOOLS_USE_MIMALLOC)
|
|
||||||
- target_link_libraries(${SPIRV_TOOLS}-shared PRIVATE mimalloc-static)
|
|
||||||
+if (SPIRV_TOOLS_BUILD_SHARED)
|
|
||||||
+ add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES})
|
|
||||||
+ if (SPIRV_TOOLS_USE_MIMALLOC)
|
|
||||||
+ target_link_libraries(${SPIRV_TOOLS}-shared PRIVATE mimalloc-static)
|
|
||||||
+ endif()
|
|
||||||
+
|
|
||||||
+ set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES
|
|
||||||
+ OUTPUT_NAME "${SPIRV_TOOLS}")
|
|
||||||
+ spirv_tools_default_target_options(${SPIRV_TOOLS}-shared)
|
|
||||||
+
|
|
||||||
+ target_compile_definitions(${SPIRV_TOOLS}-shared
|
|
||||||
+ PRIVATE SPIRV_TOOLS_IMPLEMENTATION
|
|
||||||
+ PUBLIC SPIRV_TOOLS_SHAREDLIB)
|
|
||||||
+
|
|
||||||
+ list(APPEND SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS}-shared)
|
|
||||||
endif()
|
|
||||||
-spirv_tools_default_target_options(${SPIRV_TOOLS}-shared)
|
|
||||||
-set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
|
|
||||||
-target_compile_definitions(${SPIRV_TOOLS}-shared
|
|
||||||
- PRIVATE SPIRV_TOOLS_IMPLEMENTATION
|
|
||||||
- PUBLIC SPIRV_TOOLS_SHAREDLIB
|
|
||||||
-)
|
|
||||||
|
|
||||||
if(SPIRV_TOOLS_BUILD_STATIC)
|
|
||||||
add_library(${SPIRV_TOOLS}-static STATIC ${SPIRV_SOURCES})
|
|
||||||
if (SPIRV_TOOLS_USE_MIMALLOC AND SPIRV_TOOLS_USE_MIMALLOC_IN_STATIC_BUILD)
|
|
||||||
target_link_libraries(${SPIRV_TOOLS}-shared PRIVATE mimalloc-static)
|
|
||||||
endif()
|
|
||||||
+
|
|
||||||
spirv_tools_default_target_options(${SPIRV_TOOLS}-static)
|
|
||||||
- # The static target does not have the '-static' suffix.
|
|
||||||
- set_target_properties(${SPIRV_TOOLS}-static PROPERTIES OUTPUT_NAME "${SPIRV_TOOLS}")
|
|
||||||
-
|
|
||||||
- # Create the "${SPIRV_TOOLS}" target as an alias to either "${SPIRV_TOOLS}-static"
|
|
||||||
- # or "${SPIRV_TOOLS}-shared" depending on the value of BUILD_SHARED_LIBS.
|
|
||||||
- if(BUILD_SHARED_LIBS)
|
|
||||||
- add_library(${SPIRV_TOOLS} ALIAS ${SPIRV_TOOLS}-shared)
|
|
||||||
- else()
|
|
||||||
- add_library(${SPIRV_TOOLS} ALIAS ${SPIRV_TOOLS}-static)
|
|
||||||
- endif()
|
|
||||||
+ set_target_properties(${SPIRV_TOOLS}-static PROPERTIES
|
|
||||||
+ OUTPUT_NAME "${SPIRV_TOOLS_STATIC_LIBNAME}")
|
|
||||||
|
|
||||||
- set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS}-static ${SPIRV_TOOLS}-shared)
|
|
||||||
-else()
|
|
||||||
- add_library(${SPIRV_TOOLS} ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_SOURCES})
|
|
||||||
- if (SPIRV_TOOLS_USE_MIMALLOC)
|
|
||||||
- target_link_libraries(${SPIRV_TOOLS} PRIVATE mimalloc-static)
|
|
||||||
- endif()
|
|
||||||
- spirv_tools_default_target_options(${SPIRV_TOOLS})
|
|
||||||
- set(SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared)
|
|
||||||
+ list(APPEND SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS}-static)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
+# Create the "SPIRV-Tools" target as an alias to either "SPIRV-Tools-static"
|
|
||||||
+# or "SPIRV-Tools-shared" depending on the value of SPIRV_TOOLS_BUILD_SHARED.
|
|
||||||
+add_library(${SPIRV_TOOLS} ALIAS ${SPIRV_TOOLS_FULL_VISIBILITY})
|
|
||||||
+
|
|
||||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
|
||||||
find_library(LIBRT rt)
|
|
||||||
if(LIBRT)
|
|
||||||
@@ -390,14 +385,17 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(ENABLE_SPIRV_TOOLS_INSTALL)
|
|
||||||
- if (SPIRV_TOOLS_USE_MIMALLOC AND (NOT SPIRV_TOOLS_BUILD_STATIC OR SPIRV_TOOLS_USE_MIMALLOC_IN_STATIC_BUILD))
|
|
||||||
+ if (SPIRV_TOOLS_USE_MIMALLOC AND
|
|
||||||
+ (NOT SPIRV_TOOLS_BUILD_STATIC OR SPIRV_TOOLS_USE_MIMALLOC_IN_STATIC_BUILD))
|
|
||||||
list(APPEND SPIRV_TOOLS_TARGETS mimalloc-static)
|
|
||||||
endif()
|
|
||||||
install(TARGETS ${SPIRV_TOOLS_TARGETS} EXPORT ${SPIRV_TOOLS}Targets)
|
|
||||||
export(EXPORT ${SPIRV_TOOLS}Targets FILE ${SPIRV_TOOLS}Target.cmake)
|
|
||||||
|
|
||||||
spvtools_config_package_dir(${SPIRV_TOOLS} PACKAGE_DIR)
|
|
||||||
- install(EXPORT ${SPIRV_TOOLS}Targets FILE ${SPIRV_TOOLS}Target.cmake DESTINATION ${PACKAGE_DIR})
|
|
||||||
+ install(EXPORT ${SPIRV_TOOLS}Targets
|
|
||||||
+ FILE ${SPIRV_TOOLS}Target.cmake
|
|
||||||
+ DESTINATION ${PACKAGE_DIR})
|
|
||||||
|
|
||||||
# Special config file for root library compared to other libs.
|
|
||||||
file(WRITE ${CMAKE_BINARY_DIR}/${SPIRV_TOOLS}Config.cmake
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
From b3622608433c183ba868a1dc8dd9cf285eb3b916 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dario Petrillo <dario.pk1@gmail.com>
|
||||||
|
Date: Thu, 27 Nov 2025 23:12:38 +0100
|
||||||
|
Subject: [PATCH] avoid extra memset when clearing an empty table
|
||||||
|
|
||||||
|
---
|
||||||
|
include/ankerl/unordered_dense.h | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/ankerl/unordered_dense.h b/include/ankerl/unordered_dense.h
|
||||||
|
index 0835342..4938212 100644
|
||||||
|
--- a/include/ankerl/unordered_dense.h
|
||||||
|
+++ b/include/ankerl/unordered_dense.h
|
||||||
|
@@ -1490,8 +1490,10 @@ class table : public std::conditional_t<is_map_v<T>, base_table_type_map<T>, bas
|
||||||
|
// modifiers //////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
void clear() {
|
||||||
|
- m_values.clear();
|
||||||
|
- clear_buckets();
|
||||||
|
+ if (!empty()) {
|
||||||
|
+ m_values.clear();
|
||||||
|
+ clear_buckets();
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
auto insert(value_type const& value) -> std::pair<iterator, bool> {
|
||||||
391
CMakeLists.txt
|
|
@ -1,7 +1,7 @@
|
||||||
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.22)
|
cmake_minimum_required(VERSION 3.31)
|
||||||
|
|
||||||
project(yuzu)
|
project(yuzu)
|
||||||
|
|
||||||
|
|
@ -10,6 +10,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/externals/cmake-modul
|
||||||
|
|
||||||
set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm)
|
set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm)
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
set(CMAKE_CXX_SCAN_FOR_MODULES 0)
|
||||||
|
|
||||||
include(DetectPlatform)
|
include(DetectPlatform)
|
||||||
include(DetectArchitecture)
|
include(DetectArchitecture)
|
||||||
|
|
@ -32,8 +33,8 @@ if (PLATFORM_OPENBSD)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R6/include -D_LIBCPP_PSTL_BACKEND_SERIAL=1")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R6/include -D_LIBCPP_PSTL_BACKEND_SERIAL=1")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_SYSROOT}/usr/X11R6/lib")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_SYSROOT}/usr/X11R6/lib")
|
||||||
elseif (PLATFORM_NETBSD)
|
elseif (PLATFORM_NETBSD)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R7/include")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R7/include -I${CMAKE_SYSROOT}/usr/pkg/include/c++/v1")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R7/include")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CMAKE_SYSROOT}/usr/X11R7/include -I${CMAKE_SYSROOT}/usr/pkg/include/c++/v1")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_SYSROOT}/usr/X11R7/lib")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_SYSROOT}/usr/X11R7/lib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
@ -49,39 +50,34 @@ if (YUZU_STATIC_ROOM)
|
||||||
|
|
||||||
# disable e v e r y t h i n g
|
# disable e v e r y t h i n g
|
||||||
set(ENABLE_QT OFF)
|
set(ENABLE_QT OFF)
|
||||||
set(ENABLE_SDL2 OFF)
|
|
||||||
set(YUZU_CMD OFF)
|
set(YUZU_CMD OFF)
|
||||||
set(ENABLE_CUBEB OFF)
|
set(ENABLE_CUBEB OFF)
|
||||||
set(ENABLE_UPDATE_CHECKER OFF)
|
set(ENABLE_UPDATE_CHECKER OFF)
|
||||||
set(USE_DISCORD_PRESENCE OFF)
|
set(USE_DISCORD_PRESENCE OFF)
|
||||||
set(BUILD_TESTING OFF)
|
set(BUILD_TESTING OFF)
|
||||||
set(ENABLE_OPENSSL OFF)
|
|
||||||
set(ENABLE_WEB_SERVICE OFF)
|
set(ENABLE_WEB_SERVICE OFF)
|
||||||
set(ENABLE_LIBUSB OFF)
|
set(ENABLE_LIBUSB OFF)
|
||||||
|
|
||||||
# allow static libs for boost and mbedtls though
|
# allow static libs for boost though
|
||||||
set(Boost_USE_STATIC_LIBS ON)
|
set(Boost_USE_STATIC_LIBS ON)
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
||||||
set(MBEDTLS_LIB_SUFFIX "_static")
|
set(OPENSSL_USE_STATIC_LIBS ON)
|
||||||
set(YUZU_USE_CPM ON)
|
|
||||||
|
|
||||||
set(zstd_FORCE_BUNDLED ON)
|
set(zstd_FORCE_BUNDLED ON)
|
||||||
set(fmt_FORCE_BUNDLED ON)
|
set(fmt_FORCE_BUNDLED ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# common network mbedtls
|
|
||||||
# common: xbyak? booost fmt lz4 zstd
|
|
||||||
# network: enet boost
|
|
||||||
|
|
||||||
# qt stuff
|
# qt stuff
|
||||||
option(ENABLE_QT "Enable the Qt frontend" ON)
|
option(ENABLE_QT "Enable the Qt frontend" ON)
|
||||||
option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF)
|
option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF)
|
||||||
option(ENABLE_UPDATE_CHECKER "Enable update checker (for Qt and Android)" OFF)
|
option(ENABLE_UPDATE_CHECKER "Enable update checker (for Qt and Android)" OFF)
|
||||||
option(YUZU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF)
|
cmake_dependent_option(YUZU_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF "NOT YUZU_USE_BUNDLED_QT" OFF)
|
||||||
cmake_dependent_option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF "NOT YUZU_USE_BUNDLED_QT" OFF)
|
cmake_dependent_option(YUZU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF "NOT YUZU_USE_BUNDLED_QT" OFF)
|
||||||
set(YUZU_QT_MIRROR "" CACHE STRING "What mirror to use for downloading the bundled Qt libraries")
|
set(YUZU_QT_MIRROR "" CACHE STRING "What mirror to use for downloading the bundled Qt libraries")
|
||||||
cmake_dependent_option(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF)
|
cmake_dependent_option(YUZU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF)
|
||||||
|
|
||||||
|
option(ENABLE_DEBUG_TOOLS "Enable debugging tools (maxwell disassembler, SPIRV translator, etc)" OFF)
|
||||||
|
|
||||||
# non-linux bundled qt are static
|
# non-linux bundled qt are static
|
||||||
if (YUZU_USE_BUNDLED_QT AND (APPLE OR NOT UNIX))
|
if (YUZU_USE_BUNDLED_QT AND (APPLE OR NOT UNIX))
|
||||||
set(YUZU_STATIC_BUILD ON)
|
set(YUZU_STATIC_BUILD ON)
|
||||||
|
|
@ -126,26 +122,19 @@ if (YUZU_STATIC_BUILD)
|
||||||
set(QuaZip-Qt6_FORCE_BUNDLED ON)
|
set(QuaZip-Qt6_FORCE_BUNDLED ON)
|
||||||
|
|
||||||
set(YUZU_USE_BUNDLED_FFMPEG ON)
|
set(YUZU_USE_BUNDLED_FFMPEG ON)
|
||||||
set(YUZU_USE_BUNDLED_SDL2 ON)
|
set(YUZU_USE_BUNDLED_SDL3 ON)
|
||||||
set(YUZU_USE_BUNDLED_OPENSSL ON)
|
set(YUZU_USE_BUNDLED_OPENSSL ON)
|
||||||
|
|
||||||
set(HTTPLIB_USE_BROTLI_IF_AVAILABLE OFF)
|
set(HTTPLIB_USE_BROTLI_IF_AVAILABLE OFF)
|
||||||
|
|
||||||
## some libraries define a Library::Name_static alternative ##
|
|
||||||
set(MBEDTLS_LIB_SUFFIX _static)
|
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
set(YUZU_USE_CPM ON)
|
|
||||||
|
|
||||||
set(YUZU_USE_BUNDLED_FFMPEG ON)
|
set(YUZU_USE_BUNDLED_FFMPEG ON)
|
||||||
set(YUZU_USE_BUNDLED_SDL2 ON)
|
set(YUZU_USE_BUNDLED_SDL3 ON)
|
||||||
set(YUZU_USE_BUNDLED_OPENSSL ON)
|
set(YUZU_USE_BUNDLED_OPENSSL ON)
|
||||||
|
|
||||||
# these libs do not properly provide static libs/let you do it with cmake
|
# these libs do not properly provide static libs/let you do it with cmake
|
||||||
set(fmt_FORCE_BUNDLED ON)
|
set(fmt_FORCE_BUNDLED ON)
|
||||||
set(SPIRV-Tools_FORCE_BUNDLED ON)
|
|
||||||
set(SPIRV-Headers_FORCE_BUNDLED ON)
|
set(SPIRV-Headers_FORCE_BUNDLED ON)
|
||||||
set(zstd_FORCE_BUNDLED ON)
|
set(zstd_FORCE_BUNDLED ON)
|
||||||
set(MbedTLS_FORCE_BUNDLED ON)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
@ -156,8 +145,8 @@ if (MSVC AND ARCHITECTURE_x86)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CXX_CLANG_CL)
|
if (CXX_CLANG_CL)
|
||||||
|
# clang-cl prints literally 10000+ warnings without this
|
||||||
add_compile_options(
|
add_compile_options(
|
||||||
# clang-cl prints literally 10000+ warnings without this
|
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-command-line-argument>
|
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-command-line-argument>
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unsafe-buffer-usage>
|
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unsafe-buffer-usage>
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-value>
|
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-value>
|
||||||
|
|
@ -167,27 +156,48 @@ if (CXX_CLANG_CL)
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-deprecated-declarations>
|
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-deprecated-declarations>
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-cast-function-type-mismatch>
|
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-cast-function-type-mismatch>
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:/EHsc>)
|
$<$<COMPILE_LANGUAGE:C,CXX>:/EHsc>)
|
||||||
|
|
||||||
# REQUIRED CPU features IN Windows-amd64
|
# REQUIRED CPU features IN Windows-amd64
|
||||||
if (ARCHITECTURE_x86_64)
|
if (ARCHITECTURE_x86_64)
|
||||||
add_compile_options(
|
add_compile_options(
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:-msse4.1>
|
$<$<COMPILE_LANGUAGE:C,CXX>:-msse4.1>
|
||||||
$<$<COMPILE_LANGUAGE:C,CXX>:-mcx16>)
|
$<$<COMPILE_LANGUAGE:C,CXX>:-mcx16>
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Disable Warnings as Errors for MSVC
|
# Disable Warnings as Errors for MSVC
|
||||||
if (MSVC AND NOT CXX_CLANG)
|
if (MSVC AND NOT CXX_CLANG)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX-")
|
# This was dripping into spirv, being overriden, and causing cl flag override warning
|
||||||
|
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /WX-")
|
||||||
|
set(CMAKE_CXX_FLAGS_INIT "${CMAKE_CXX_FLAGS_INIT} /W3 /WX-")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Set bundled sdl2/qt as dependent options.
|
# Set runtime library to MD/MDd for all configurations
|
||||||
# On Linux system SDL2 is likely to be lacking HIDAPI support which have drawbacks but is needed for SDL motion
|
if(MSVC)
|
||||||
cmake_dependent_option(ENABLE_SDL2 "Enable the SDL2 frontend" ON "NOT ANDROID" OFF)
|
if (YUZU_USE_BUNDLED_QT AND ARCHITECTURE_arm64)
|
||||||
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
|
set(libflag MT)
|
||||||
|
else()
|
||||||
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
|
||||||
|
set(libflag MD)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Force all projects (including external dependencies) to use the same runtime
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /${libflag}")
|
||||||
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /${libflag}d")
|
||||||
|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /${libflag}")
|
||||||
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /${libflag}d")
|
||||||
|
|
||||||
|
# Add this to ensure Cubeb uses the same runtime
|
||||||
|
add_compile_options(
|
||||||
|
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:Debug>:/${libflag}d>>
|
||||||
|
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:Release>:/${libflag}>>
|
||||||
|
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:RelWithDebInfo>:/${libflag}>>
|
||||||
|
$<$<COMPILE_LANGUAGE:C,CXX>:$<$<CONFIG:MinSizeRel>:/${libflag}>>)
|
||||||
|
endif()
|
||||||
|
|
||||||
# TODO(crueter): Cleanup, each dep that has a bundled option should allow to choose between bundled, external, system
|
# TODO(crueter): Cleanup, each dep that has a bundled option should allow to choose between bundled, external, system
|
||||||
cmake_dependent_option(YUZU_USE_EXTERNAL_SDL2 "Build SDL2 from external source" OFF "ENABLE_SDL2;NOT MSVC" OFF)
|
cmake_dependent_option(YUZU_USE_BUNDLED_SDL3 "Download bundled SDL3 build" "${MSVC}" "NOT ANDROID" OFF)
|
||||||
cmake_dependent_option(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 build" "${MSVC}" "ENABLE_SDL2" OFF)
|
|
||||||
|
|
||||||
option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
|
option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
|
||||||
|
|
||||||
|
|
@ -196,8 +206,6 @@ if (MSVC OR ANDROID)
|
||||||
set(EXT_DEFAULT ON)
|
set(EXT_DEFAULT ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(YUZU_USE_CPM "Use CPM to fetch system dependencies (fmt, boost, etc) if needed. Externals will still be fetched." ${EXT_DEFAULT})
|
|
||||||
|
|
||||||
# ffmpeg
|
# ffmpeg
|
||||||
option(YUZU_USE_BUNDLED_FFMPEG "Download bundled FFmpeg" ${EXT_DEFAULT})
|
option(YUZU_USE_BUNDLED_FFMPEG "Download bundled FFmpeg" ${EXT_DEFAULT})
|
||||||
cmake_dependent_option(YUZU_USE_EXTERNAL_FFMPEG "Build FFmpeg from external source" "${PLATFORM_SUN}" "NOT WIN32 AND NOT ANDROID" OFF)
|
cmake_dependent_option(YUZU_USE_EXTERNAL_FFMPEG "Build FFmpeg from external source" "${PLATFORM_SUN}" "NOT WIN32 AND NOT ANDROID" OFF)
|
||||||
|
|
@ -213,7 +221,7 @@ option(YUZU_USE_BUNDLED_SIRIT "Download bundled sirit" ${BUNDLED_SIRIT_DEFAULT})
|
||||||
# FreeBSD 15+ has libusb, versions below should disable it
|
# FreeBSD 15+ has libusb, versions below should disable it
|
||||||
cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "WIN32 OR PLATFORM_LINUX OR PLATFORM_FREEBSD OR APPLE" OFF)
|
cmake_dependent_option(ENABLE_LIBUSB "Enable the use of LibUSB" ON "WIN32 OR PLATFORM_LINUX OR PLATFORM_FREEBSD OR APPLE" OFF)
|
||||||
|
|
||||||
cmake_dependent_option(ENABLE_OPENGL "Enable OpenGL" ON "NOT WIN32 OR NOT ARCHITECTURE_arm64" OFF)
|
cmake_dependent_option(ENABLE_OPENGL "Enable OpenGL" ON "NOT (WIN32 AND ARCHITECTURE_arm64) AND NOT APPLE" OFF)
|
||||||
mark_as_advanced(FORCE ENABLE_OPENGL)
|
mark_as_advanced(FORCE ENABLE_OPENGL)
|
||||||
|
|
||||||
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)
|
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)
|
||||||
|
|
@ -223,14 +231,20 @@ cmake_dependent_option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF
|
||||||
|
|
||||||
option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}")
|
option(YUZU_TESTS "Compile tests" "${BUILD_TESTING}")
|
||||||
|
|
||||||
|
# Install udev rules on Linux (mainly for gyros)
|
||||||
|
# Only acts on joysticks and nothing else.
|
||||||
|
cmake_dependent_option(YUZU_INSTALL_UDEV_RULES "Install udev rules for gyro access" OFF "PLATFORM_LINUX" OFF)
|
||||||
|
|
||||||
option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON)
|
option(YUZU_DOWNLOAD_ANDROID_VVL "Download validation layer binary for android" ON)
|
||||||
|
|
||||||
option(YUZU_LEGACY "Apply patches that improve compatibility with older GPUs (e.g. Snapdragon 865) at the cost of performance" OFF)
|
option(YUZU_LEGACY "Apply patches that improve compatibility with older GPUs (e.g. Snapdragon 865) at the cost of performance" OFF)
|
||||||
|
|
||||||
|
option(NIGHTLY_BUILD "Use Nightly qualifiers in the update checker and build metadata" OFF)
|
||||||
|
|
||||||
cmake_dependent_option(YUZU_ROOM "Enable dedicated room functionality" ON "NOT ANDROID" OFF)
|
cmake_dependent_option(YUZU_ROOM "Enable dedicated room functionality" ON "NOT ANDROID" OFF)
|
||||||
cmake_dependent_option(YUZU_ROOM_STANDALONE "Enable standalone room executable" ON "YUZU_ROOM" OFF)
|
cmake_dependent_option(YUZU_ROOM_STANDALONE "Enable standalone room executable" ON "YUZU_ROOM" OFF)
|
||||||
|
|
||||||
cmake_dependent_option(YUZU_CMD "Compile the eden-cli executable" ON "ENABLE_SDL2;NOT ANDROID" OFF)
|
cmake_dependent_option(YUZU_CMD "Compile the eden-cli executable" ON "NOT ANDROID" OFF)
|
||||||
|
|
||||||
cmake_dependent_option(YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support" OFF "WIN32 OR PLATFORM_LINUX" OFF)
|
cmake_dependent_option(YUZU_CRASH_DUMPS "Compile crash dump (Minidump) support" OFF "WIN32 OR PLATFORM_LINUX" OFF)
|
||||||
|
|
||||||
|
|
@ -241,29 +255,12 @@ cmake_dependent_option(YUZU_USE_BUNDLED_MOLTENVK "Download bundled MoltenVK lib"
|
||||||
|
|
||||||
option(YUZU_DISABLE_LLVM "Disable LLVM (useful for CI)" OFF)
|
option(YUZU_DISABLE_LLVM "Disable LLVM (useful for CI)" OFF)
|
||||||
|
|
||||||
set(DEFAULT_ENABLE_OPENSSL ON)
|
|
||||||
if (ANDROID OR WIN32 OR APPLE OR PLATFORM_SUN)
|
|
||||||
# - Windows defaults to the Schannel backend.
|
|
||||||
# - macOS defaults to the SecureTransport backend.
|
|
||||||
# - Android currently has no SSL backend as the NDK doesn't include any SSL
|
|
||||||
# library; a proper 'native' backend would have to go through Java.
|
|
||||||
# But you can force builds for those platforms to use OpenSSL if you have
|
|
||||||
# your own copy of it.
|
|
||||||
set(DEFAULT_ENABLE_OPENSSL OFF)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (ENABLE_WEB_SERVICE OR USE_DISCORD_PRESENCE)
|
|
||||||
set(DEFAULT_ENABLE_OPENSSL ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(ENABLE_OPENSSL "Enable OpenSSL backend for ISslConnection" ${DEFAULT_ENABLE_OPENSSL})
|
|
||||||
|
|
||||||
set(DEFAULT_YUZU_USE_BUNDLED_OPENSSL OFF)
|
set(DEFAULT_YUZU_USE_BUNDLED_OPENSSL OFF)
|
||||||
if (EXT_DEFAULT OR PLATFORM_SUN)
|
if (EXT_DEFAULT OR PLATFORM_SUN OR PLATFORM_OPENBSD)
|
||||||
set(DEFAULT_YUZU_USE_BUNDLED_OPENSSL ON)
|
set(DEFAULT_YUZU_USE_BUNDLED_OPENSSL ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
cmake_dependent_option(YUZU_USE_BUNDLED_OPENSSL "Download bundled OpenSSL build" ${DEFAULT_YUZU_USE_BUNDLED_OPENSSL} "ENABLE_OPENSSL" OFF)
|
option(YUZU_USE_BUNDLED_OPENSSL "Download bundled OpenSSL build" ${DEFAULT_YUZU_USE_BUNDLED_OPENSSL})
|
||||||
|
|
||||||
if (ANDROID AND YUZU_DOWNLOAD_ANDROID_VVL)
|
if (ANDROID AND YUZU_DOWNLOAD_ANDROID_VVL)
|
||||||
AddJsonPackage(vulkan-validation-layers)
|
AddJsonPackage(vulkan-validation-layers)
|
||||||
|
|
@ -301,11 +298,6 @@ if (NOT EXISTS ${PROJECT_BINARY_DIR}/${compat_json})
|
||||||
file(WRITE ${PROJECT_BINARY_DIR}/${compat_json} "")
|
file(WRITE ${PROJECT_BINARY_DIR}/${compat_json} "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (YUZU_LEGACY)
|
|
||||||
message(WARNING "Making legacy build. Performance may suffer.")
|
|
||||||
add_compile_definitions(YUZU_LEGACY)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (ARCHITECTURE_arm64 AND (ANDROID OR PLATFORM_LINUX))
|
if (ARCHITECTURE_arm64 AND (ANDROID OR PLATFORM_LINUX))
|
||||||
set(HAS_NCE 1)
|
set(HAS_NCE 1)
|
||||||
add_compile_definitions(HAS_NCE=1)
|
add_compile_definitions(HAS_NCE=1)
|
||||||
|
|
@ -315,7 +307,7 @@ if (YUZU_ROOM)
|
||||||
add_compile_definitions(YUZU_ROOM)
|
add_compile_definitions(YUZU_ROOM)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ((ANDROID OR APPLE OR UNIX) AND (NOT PLATFORM_LINUX OR ANDROID) AND NOT WIN32)
|
if (UNIX AND NOT (PLATFORM_LINUX OR WIN32))
|
||||||
if(CXX_APPLE OR CXX_CLANG)
|
if(CXX_APPLE OR CXX_CLANG)
|
||||||
# libc++ has stop_token and jthread as experimental
|
# libc++ has stop_token and jthread as experimental
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexperimental-library")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexperimental-library")
|
||||||
|
|
@ -371,10 +363,6 @@ if (CXX_GCC OR CXX_CLANG)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Other presets, e.g. steamdeck
|
|
||||||
# TODO(crueter): Just have every Linux/Windows use old sdl2
|
|
||||||
set(YUZU_SYSTEM_PROFILE "generic" CACHE STRING "CMake and Externals profile to use. One of: generic, steamdeck")
|
|
||||||
|
|
||||||
# Configure C++ standard
|
# Configure C++ standard
|
||||||
# ===========================
|
# ===========================
|
||||||
|
|
||||||
|
|
@ -391,123 +379,103 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
||||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
# openssl funniness
|
find_package(RenderDoc MODULE)
|
||||||
if (ENABLE_OPENSSL)
|
|
||||||
if (YUZU_USE_BUNDLED_OPENSSL)
|
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
|
||||||
AddJsonPackage(openssl)
|
|
||||||
if (OpenSSL_ADDED)
|
|
||||||
add_compile_definitions(YUZU_BUNDLED_OPENSSL)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(OpenSSL 1.1.1 REQUIRED)
|
# openssl funniness
|
||||||
|
if (YUZU_USE_BUNDLED_OPENSSL)
|
||||||
|
set(BUILD_SHARED_LIBS OFF)
|
||||||
|
AddJsonPackage(openssl-ci)
|
||||||
|
else()
|
||||||
|
AddJsonPackage(openssl)
|
||||||
|
set(OPENSSL_BUILD_VERBOSE ON)
|
||||||
|
set(OPENSSL_CONFIGURE_VERBOSE ON)
|
||||||
|
|
||||||
|
if (OpenSSL_ADDED)
|
||||||
|
AddJsonPackage(openssl-cmake)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (YUZU_USE_CPM)
|
if (OpenSSL_ADDED)
|
||||||
message(STATUS "Fetching needed dependencies with CPM")
|
add_compile_definitions(YUZU_BUNDLED_OPENSSL)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
message(STATUS "Fetching needed dependencies with CPM")
|
||||||
set(BUILD_TESTING OFF)
|
|
||||||
set(ENABLE_TESTING OFF)
|
|
||||||
|
|
||||||
# TODO(crueter): renderdoc?
|
set(BUILD_SHARED_LIBS OFF)
|
||||||
|
set(BUILD_TESTING OFF)
|
||||||
|
set(ENABLE_TESTING OFF)
|
||||||
|
|
||||||
# boost
|
# boost
|
||||||
set(BOOST_INCLUDE_LIBRARIES algorithm icl pool container heap asio headers process filesystem crc variant)
|
set(BOOST_INCLUDE_LIBRARIES algorithm icl pool container heap asio headers process filesystem crc variant)
|
||||||
|
|
||||||
AddJsonPackage(boost)
|
AddJsonPackage(boost)
|
||||||
|
|
||||||
# really annoying thing where boost::headers doesn't work with cpm
|
# really annoying thing where boost::headers doesn't work with cpm
|
||||||
# TODO(crueter) investigate
|
# TODO(crueter) investigate
|
||||||
set(BOOST_NO_HEADERS ${Boost_ADDED})
|
set(BOOST_NO_HEADERS ${Boost_ADDED})
|
||||||
|
|
||||||
if (Boost_ADDED)
|
if (Boost_ADDED)
|
||||||
if (MSVC OR ANDROID)
|
if (MSVC OR ANDROID)
|
||||||
add_compile_definitions(YUZU_BOOST_v1)
|
add_compile_definitions(YUZU_BOOST_v1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT MSVC OR CXX_CLANG)
|
||||||
|
# boost sucks
|
||||||
|
if (PLATFORM_SUN)
|
||||||
|
add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-pthreads>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT MSVC OR CXX_CLANG)
|
target_compile_options(boost_heap INTERFACE $<$<COMPILE_LANGUAGE:C,CXX>:-Wno-shadow>)
|
||||||
# boost sucks
|
target_compile_options(boost_icl INTERFACE $<$<COMPILE_LANGUAGE:C,CXX>:-Wno-shadow>)
|
||||||
if (PLATFORM_SUN)
|
target_compile_options(boost_asio INTERFACE
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthreads")
|
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-conversion>
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthreads")
|
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-implicit-fallthrough>
|
||||||
endif()
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
target_compile_options(boost_heap INTERFACE -Wno-shadow)
|
# fmt
|
||||||
target_compile_options(boost_icl INTERFACE -Wno-shadow)
|
AddJsonPackage(fmt)
|
||||||
target_compile_options(boost_asio INTERFACE -Wno-conversion -Wno-implicit-fallthrough)
|
|
||||||
|
# lz4
|
||||||
|
AddJsonPackage(lz4)
|
||||||
|
|
||||||
|
if (lz4_ADDED)
|
||||||
|
add_library(lz4::lz4 ALIAS lz4_static)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# zstd
|
||||||
|
AddJsonPackage(zstd)
|
||||||
|
|
||||||
|
if (zstd_ADDED)
|
||||||
|
add_library(zstd::zstd ALIAS libzstd_static)
|
||||||
|
add_library(zstd::libzstd ALIAS libzstd_static)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# nlohmann
|
||||||
|
AddJsonPackage(nlohmann)
|
||||||
|
|
||||||
|
if (NOT YUZU_STATIC_ROOM)
|
||||||
|
# zlib
|
||||||
|
AddJsonPackage(zlib)
|
||||||
|
|
||||||
|
if (ZLIB_ADDED)
|
||||||
|
add_library(ZLIB::ZLIB ALIAS zlibstatic)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Opus
|
||||||
|
AddJsonPackage(opus)
|
||||||
|
|
||||||
|
if (Opus_ADDED)
|
||||||
|
if (MSVC AND CXX_CLANG)
|
||||||
|
target_compile_options(opus PRIVATE
|
||||||
|
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-implicit-function-declaration>
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# fmt
|
if (NOT TARGET Opus::opus)
|
||||||
AddJsonPackage(fmt)
|
add_library(Opus::opus ALIAS opus)
|
||||||
|
|
||||||
# lz4
|
|
||||||
AddJsonPackage(lz4)
|
|
||||||
|
|
||||||
if (lz4_ADDED)
|
|
||||||
add_library(lz4::lz4 ALIAS lz4_static)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# zstd
|
|
||||||
AddJsonPackage(zstd)
|
|
||||||
|
|
||||||
if (zstd_ADDED)
|
|
||||||
add_library(zstd::zstd ALIAS libzstd_static)
|
|
||||||
add_library(zstd::libzstd ALIAS libzstd_static)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT YUZU_STATIC_ROOM)
|
|
||||||
# nlohmann
|
|
||||||
AddJsonPackage(nlohmann)
|
|
||||||
|
|
||||||
# zlib
|
|
||||||
AddJsonPackage(zlib)
|
|
||||||
|
|
||||||
if (ZLIB_ADDED)
|
|
||||||
add_library(ZLIB::ZLIB ALIAS zlibstatic)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Opus
|
|
||||||
AddJsonPackage(opus)
|
|
||||||
|
|
||||||
if (Opus_ADDED)
|
|
||||||
if (MSVC AND CXX_CLANG)
|
|
||||||
target_compile_options(opus PRIVATE
|
|
||||||
-Wno-implicit-function-declaration
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT TARGET Opus::opus)
|
|
||||||
add_library(Opus::opus ALIAS opus)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
# TODO: we can probably just use CPM for this... right?
|
|
||||||
# Enforce the search mode of non-required packages for better and shorter failure messages
|
|
||||||
find_package(fmt 8 REQUIRED)
|
|
||||||
|
|
||||||
if (NOT YUZU_DISABLE_LLVM)
|
|
||||||
find_package(LLVM MODULE COMPONENTS Demangle)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(nlohmann_json 3.8 REQUIRED)
|
|
||||||
find_package(lz4 REQUIRED)
|
|
||||||
find_package(RenderDoc MODULE)
|
|
||||||
find_package(stb MODULE)
|
|
||||||
|
|
||||||
find_package(Opus 1.3 MODULE REQUIRED)
|
|
||||||
|
|
||||||
find_package(ZLIB 1.2 REQUIRED)
|
|
||||||
find_package(zstd 1.5 REQUIRED MODULE)
|
|
||||||
|
|
||||||
# wow
|
|
||||||
find_package(Boost 1.57.0 CONFIG REQUIRED OPTIONAL_COMPONENTS headers context system fiber filesystem)
|
|
||||||
|
|
||||||
if (ENABLE_OPENSSL)
|
|
||||||
find_package(OpenSSL 1.1.1 REQUIRED)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
@ -545,10 +513,10 @@ endfunction()
|
||||||
# =============================================
|
# =============================================
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
# Umbrella framework for everything GUI-related
|
foreach(fw Carbon Metal Cocoa IOKit CoreVideo CoreMedia Security UniformTypeIdentifiers)
|
||||||
find_library(COCOA_LIBRARY Cocoa REQUIRED)
|
find_library(${fw}_LIBRARY ${fw} REQUIRED)
|
||||||
find_library(IOKIT_LIBRARY IOKit REQUIRED)
|
list(APPEND PLATFORM_LIBRARIES ${${fw}_LIBRARY})
|
||||||
set(PLATFORM_LIBRARIES ${COCOA_LIBRARY} ${IOKIT_LIBRARY} ${COREVIDEO_LIBRARY})
|
endforeach()
|
||||||
elseif (WIN32)
|
elseif (WIN32)
|
||||||
# Target Windows 10
|
# Target Windows 10
|
||||||
add_compile_definitions(_WIN32_WINNT=0x0A00 WINVER=0x0A00)
|
add_compile_definitions(_WIN32_WINNT=0x0A00 WINVER=0x0A00)
|
||||||
|
|
@ -557,6 +525,8 @@ elseif (WIN32)
|
||||||
# PSAPI is the Process Status API
|
# PSAPI is the Process Status API
|
||||||
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} psapi imm32 version crypt32 rpcrt4 gdi32 wldap32 mswsock)
|
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} psapi imm32 version crypt32 rpcrt4 gdi32 wldap32 mswsock)
|
||||||
endif()
|
endif()
|
||||||
|
elseif (PLATFORM_MANAGARM)
|
||||||
|
set(PLATFORM_LIBRARIES iconv intl)
|
||||||
elseif (PLATFORM_HAIKU)
|
elseif (PLATFORM_HAIKU)
|
||||||
# Haiku is so special :)
|
# Haiku is so special :)
|
||||||
set(PLATFORM_LIBRARIES bsd /boot/system/lib/libnetwork.so)
|
set(PLATFORM_LIBRARIES bsd /boot/system/lib/libnetwork.so)
|
||||||
|
|
@ -569,8 +539,9 @@ message(STATUS "Platform Libraries: ${PLATFORM_LIBRARIES}")
|
||||||
add_subdirectory(externals)
|
add_subdirectory(externals)
|
||||||
|
|
||||||
# pass targets from externals
|
# pass targets from externals
|
||||||
|
# TODO(crueter): CPMUtil Propagate func?
|
||||||
find_package(enet)
|
find_package(enet)
|
||||||
find_package(MbedTLS)
|
find_package(unordered_dense REQUIRED)
|
||||||
|
|
||||||
if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
||||||
find_package(xbyak)
|
find_package(xbyak)
|
||||||
|
|
@ -581,10 +552,9 @@ if (NOT YUZU_STATIC_ROOM)
|
||||||
find_package(VulkanMemoryAllocator)
|
find_package(VulkanMemoryAllocator)
|
||||||
find_package(VulkanUtilityLibraries)
|
find_package(VulkanUtilityLibraries)
|
||||||
find_package(SimpleIni)
|
find_package(SimpleIni)
|
||||||
find_package(SPIRV-Tools)
|
|
||||||
find_package(sirit)
|
find_package(sirit)
|
||||||
find_package(gamemode)
|
find_package(gamemode)
|
||||||
find_package(mcl)
|
find_package(frozen)
|
||||||
|
|
||||||
if (ARCHITECTURE_riscv64)
|
if (ARCHITECTURE_riscv64)
|
||||||
find_package(biscuit)
|
find_package(biscuit)
|
||||||
|
|
@ -598,8 +568,8 @@ if (NOT YUZU_STATIC_ROOM)
|
||||||
find_package(oaknut)
|
find_package(oaknut)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ENABLE_SDL2)
|
if (NOT ANDROID)
|
||||||
find_package(SDL2)
|
find_package(SDL3)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (USE_DISCORD_PRESENCE)
|
if (USE_DISCORD_PRESENCE)
|
||||||
|
|
@ -624,8 +594,6 @@ if (ENABLE_QT)
|
||||||
else()
|
else()
|
||||||
AddQt(6.9.3)
|
AddQt(6.9.3)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(YUZU_STATIC_BUILD ON)
|
|
||||||
else()
|
else()
|
||||||
message(STATUS "Using system Qt")
|
message(STATUS "Using system Qt")
|
||||||
if (NOT Qt6_DIR)
|
if (NOT Qt6_DIR)
|
||||||
|
|
@ -634,23 +602,7 @@ if (ENABLE_QT)
|
||||||
list(APPEND CMAKE_PREFIX_PATH "${Qt6_DIR}")
|
list(APPEND CMAKE_PREFIX_PATH "${Qt6_DIR}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(Qt6 CONFIG REQUIRED COMPONENTS Widgets Concurrent)
|
find_package(Qt6 REQUIRED COMPONENTS Core)
|
||||||
|
|
||||||
if (YUZU_USE_QT_MULTIMEDIA)
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS Multimedia)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (PLATFORM_LINUX OR PLATFORM_FREEBSD)
|
|
||||||
# yes Qt, we get it
|
|
||||||
set(QT_NO_PRIVATE_MODULE_WARNING ON)
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS DBus OPTIONAL_COMPONENTS GuiPrivate)
|
|
||||||
elseif (UNIX AND NOT APPLE)
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS DBus Gui)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (ENABLE_QT_TRANSLATION)
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS LinguistTools)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT DEFINED QT_TARGET_PATH)
|
if (NOT DEFINED QT_TARGET_PATH)
|
||||||
get_target_property(qtcore_path Qt6::Core LOCATION_Release)
|
get_target_property(qtcore_path Qt6::Core LOCATION_Release)
|
||||||
|
|
@ -673,24 +625,35 @@ if (ENABLE_QT)
|
||||||
## Components ##
|
## Components ##
|
||||||
|
|
||||||
# Best practice is to ask for all components at once, so they are from the same version
|
# Best practice is to ask for all components at once, so they are from the same version
|
||||||
set(YUZU_QT_COMPONENTS Core Widgets Concurrent)
|
set(YUZU_QT_COMPONENTS Core Widgets Charts Concurrent Gui)
|
||||||
if (PLATFORM_LINUX)
|
if (PLATFORM_LINUX OR PLATFORM_FREEBSD)
|
||||||
list(APPEND YUZU_QT_COMPONENTS DBus)
|
list(APPEND YUZU_QT_COMPONENTS DBus)
|
||||||
|
# yes Qt, we get it
|
||||||
|
set(QT_NO_PRIVATE_MODULE_WARNING ON)
|
||||||
|
list(APPEND YUZU_QT_OPTIONAL GuiPrivate)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (YUZU_USE_QT_MULTIMEDIA)
|
if (YUZU_USE_QT_MULTIMEDIA)
|
||||||
list(APPEND YUZU_QT_COMPONENTS Multimedia)
|
list(APPEND YUZU_QT_COMPONENTS Multimedia)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (YUZU_USE_QT_WEB_ENGINE)
|
if (YUZU_USE_QT_WEB_ENGINE)
|
||||||
list(APPEND YUZU_QT_COMPONENTS WebEngineCore WebEngineWidgets)
|
list(APPEND YUZU_QT_COMPONENTS WebEngineCore WebEngineWidgets)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ENABLE_QT_TRANSLATION)
|
if (ENABLE_QT_TRANSLATION)
|
||||||
list(APPEND YUZU_QT_COMPONENTS LinguistTools)
|
list(APPEND YUZU_QT_COMPONENTS LinguistTools)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS ${YUZU_QT_COMPONENTS})
|
find_package(Qt6 REQUIRED COMPONENTS ${YUZU_QT_COMPONENTS} OPTIONAL_COMPONENTS ${YUZU_QT_OPTIONAL})
|
||||||
set(QT_MAJOR_VERSION 6)
|
set(QT_MAJOR_VERSION 6)
|
||||||
# Qt6 sets cxx_std_17 and we need to undo that
|
# Qt6 sets cxx_std_17 and we need to undo that
|
||||||
set_target_properties(Qt6::Platform PROPERTIES INTERFACE_COMPILE_FEATURES "")
|
set_target_properties(Qt6::Platform PROPERTIES INTERFACE_COMPILE_FEATURES "")
|
||||||
|
|
||||||
|
## Qt Externals ##
|
||||||
|
|
||||||
|
# QuaZip
|
||||||
|
AddJsonPackage(quazip)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT YUZU_STATIC_ROOM AND NOT (YUZU_USE_BUNDLED_FFMPEG OR YUZU_USE_EXTERNAL_FFMPEG))
|
if (NOT YUZU_STATIC_ROOM AND NOT (YUZU_USE_BUNDLED_FFMPEG OR YUZU_USE_EXTERNAL_FFMPEG))
|
||||||
|
|
@ -748,27 +711,14 @@ if (MSVC AND CXX_CLANG)
|
||||||
link_libraries(llvm-mingw-runtime)
|
link_libraries(llvm-mingw-runtime)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Set runtime library to MD/MDd for all configurations
|
|
||||||
if(MSVC)
|
|
||||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
|
|
||||||
|
|
||||||
# Force all projects (including external dependencies) to use the same runtime
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
|
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
|
|
||||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MD")
|
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MDd")
|
|
||||||
|
|
||||||
# Add this to ensure Cubeb uses the same runtime
|
|
||||||
add_compile_options(
|
|
||||||
$<$<CONFIG:Debug>:/MDd>
|
|
||||||
$<$<CONFIG:Release>:/MD>
|
|
||||||
$<$<CONFIG:RelWithDebInfo>:/MD>
|
|
||||||
$<$<CONFIG:MinSizeRel>:/MD>
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
if (ENABLE_DEBUG_TOOLS)
|
||||||
|
add_subdirectory(tools/maxwell-disas)
|
||||||
|
add_subdirectory(tools/maxwell-spirv)
|
||||||
|
add_subdirectory(tools/maxwell-ir)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Set yuzu project or yuzu-cmd project as default StartUp Project in Visual Studio depending on whether QT is enabled or not
|
# Set yuzu project or yuzu-cmd project as default StartUp Project in Visual Studio depending on whether QT is enabled or not
|
||||||
if(ENABLE_QT)
|
if(ENABLE_QT)
|
||||||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT yuzu)
|
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT yuzu)
|
||||||
|
|
@ -784,6 +734,8 @@ endif()
|
||||||
# https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
|
# https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
|
||||||
# https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
|
# https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
|
||||||
# https://www.freedesktop.org/software/appstream/docs/
|
# https://www.freedesktop.org/software/appstream/docs/
|
||||||
|
|
||||||
|
# TODO: Icon/install handling n such should be put into dist/CMakeLists.txt
|
||||||
if(ENABLE_QT AND UNIX AND NOT APPLE)
|
if(ENABLE_QT AND UNIX AND NOT APPLE)
|
||||||
install(FILES "dist/dev.eden_emu.eden.desktop"
|
install(FILES "dist/dev.eden_emu.eden.desktop"
|
||||||
DESTINATION "share/applications")
|
DESTINATION "share/applications")
|
||||||
|
|
@ -796,3 +748,10 @@ if(ENABLE_QT AND UNIX AND NOT APPLE)
|
||||||
install(FILES "dist/dev.eden_emu.eden.metainfo.xml"
|
install(FILES "dist/dev.eden_emu.eden.metainfo.xml"
|
||||||
DESTINATION "share/metainfo")
|
DESTINATION "share/metainfo")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (YUZU_INSTALL_UDEV_RULES)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
install(FILES "dist/72-eden-input.rules"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/udev/rules.d")
|
||||||
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,11 @@ function(cpm_utils_message level name message)
|
||||||
message(${level} "[CPMUtil] ${name}: ${message}")
|
message(${level} "[CPMUtil] ${name}: ${message}")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# propagate a variable to parent scope
|
||||||
|
macro(Propagate var)
|
||||||
|
set(${var} ${${var}} PARENT_SCOPE)
|
||||||
|
endmacro()
|
||||||
|
|
||||||
function(array_to_list array length out)
|
function(array_to_list array length out)
|
||||||
math(EXPR range "${length} - 1")
|
math(EXPR range "${length} - 1")
|
||||||
|
|
||||||
|
|
@ -72,6 +77,163 @@ function(get_json_element object out member default)
|
||||||
set("${out}" "${outvar}" PARENT_SCOPE)
|
set("${out}" "${outvar}" PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# Determine whether or not a package has a viable system candidate.
|
||||||
|
function(SystemPackageViable JSON_NAME)
|
||||||
|
string(JSON object GET "${CPMFILE_CONTENT}" "${JSON_NAME}")
|
||||||
|
|
||||||
|
parse_object(${object})
|
||||||
|
|
||||||
|
string(REPLACE " " ";" find_args "${find_args}")
|
||||||
|
if (${package}_FORCE_BUNDLED)
|
||||||
|
set(${package}_FOUND OFF)
|
||||||
|
else()
|
||||||
|
find_package(${package} ${version} ${find_args} QUIET NO_POLICY_SCOPE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(${pkg}_VIABLE ${${package}_FOUND} PARENT_SCOPE)
|
||||||
|
set(${pkg}_PACKAGE ${package} PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Add several packages such that if one is bundled,
|
||||||
|
# all the rest must also be bundled.
|
||||||
|
function(AddDependentPackages)
|
||||||
|
set(_some_system OFF)
|
||||||
|
set(_some_bundled OFF)
|
||||||
|
|
||||||
|
foreach(pkg ${ARGN})
|
||||||
|
SystemPackageViable(${pkg})
|
||||||
|
|
||||||
|
if (${pkg}_VIABLE)
|
||||||
|
set(_some_system ON)
|
||||||
|
list(APPEND _system_pkgs ${${pkg}_PACKAGE})
|
||||||
|
else()
|
||||||
|
set(_some_bundled ON)
|
||||||
|
list(APPEND _bundled_pkgs ${${pkg}_PACKAGE})
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if (_some_system AND _some_bundled)
|
||||||
|
foreach(pkg ${ARGN})
|
||||||
|
list(APPEND package_names ${${pkg}_PACKAGE})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
string(REPLACE ";" ", " package_names "${package_names}")
|
||||||
|
string(REPLACE ";" ", " bundled_names "${_bundled_pkgs}")
|
||||||
|
foreach(sys ${_system_pkgs})
|
||||||
|
list(APPEND system_names ${sys}_FORCE_BUNDLED)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
string(REPLACE ";" ", " system_names "${system_names}")
|
||||||
|
|
||||||
|
message(FATAL_ERROR "Partial dependency installation detected "
|
||||||
|
"for the following packages:\n${package_names}\n"
|
||||||
|
"You can solve this in one of two ways:\n"
|
||||||
|
"1. Install the following packages to your system if available:"
|
||||||
|
"\n\t${bundled_names}\n"
|
||||||
|
"2. Set the following variables to ON:"
|
||||||
|
"\n\t${system_names}\n"
|
||||||
|
"This may also be caused by a version mismatch, "
|
||||||
|
"such as one package being newer than the other.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
foreach(pkg ${ARGN})
|
||||||
|
AddJsonPackage(${pkg})
|
||||||
|
endforeach()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# json util
|
||||||
|
macro(parse_object object)
|
||||||
|
get_json_element("${object}" package package ${JSON_NAME})
|
||||||
|
get_json_element("${object}" repo repo "")
|
||||||
|
get_json_element("${object}" ci ci OFF)
|
||||||
|
get_json_element("${object}" version version "")
|
||||||
|
|
||||||
|
if(ci)
|
||||||
|
get_json_element("${object}" name name "${JSON_NAME}")
|
||||||
|
get_json_element("${object}" extension extension "tar.zst")
|
||||||
|
get_json_element("${object}" min_version min_version "")
|
||||||
|
get_json_element("${object}" raw_disabled disabled_platforms "")
|
||||||
|
|
||||||
|
if(raw_disabled)
|
||||||
|
array_to_list("${raw_disabled}"
|
||||||
|
${raw_disabled_LENGTH} disabled_platforms)
|
||||||
|
else()
|
||||||
|
set(disabled_platforms "")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
get_json_element("${object}" hash hash "")
|
||||||
|
get_json_element("${object}" hash_suffix hash_suffix "")
|
||||||
|
get_json_element("${object}" sha sha "")
|
||||||
|
get_json_element("${object}" url url "")
|
||||||
|
get_json_element("${object}" key key "")
|
||||||
|
get_json_element("${object}" tag tag "")
|
||||||
|
get_json_element("${object}" artifact artifact "")
|
||||||
|
get_json_element("${object}" git_version git_version "")
|
||||||
|
get_json_element("${object}" git_host git_host "")
|
||||||
|
get_json_element("${object}" source_subdir source_subdir "")
|
||||||
|
get_json_element("${object}" bundled bundled "unset")
|
||||||
|
get_json_element("${object}" find_args find_args "")
|
||||||
|
get_json_element("${object}" raw_patches patches "")
|
||||||
|
|
||||||
|
# okay here comes the fun part: REPLACEMENTS!
|
||||||
|
# first: tag gets %VERSION% replaced if applicable,
|
||||||
|
# with either git_version (preferred) or version
|
||||||
|
# second: artifact gets %VERSION% and %TAG% replaced
|
||||||
|
# accordingly (same rules for VERSION)
|
||||||
|
|
||||||
|
if(git_version)
|
||||||
|
set(version_replace ${git_version})
|
||||||
|
else()
|
||||||
|
set(version_replace ${version})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# TODO(crueter): fmt module for cmake
|
||||||
|
if(tag)
|
||||||
|
string(REPLACE "%VERSION%" "${version_replace}" tag ${tag})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(artifact)
|
||||||
|
string(REPLACE "%VERSION%" "${version_replace}"
|
||||||
|
artifact ${artifact})
|
||||||
|
string(REPLACE "%TAG%" "${tag}" artifact ${artifact})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# format patchdir
|
||||||
|
if(raw_patches)
|
||||||
|
math(EXPR range "${raw_patches_LENGTH} - 1")
|
||||||
|
|
||||||
|
foreach(IDX RANGE ${range})
|
||||||
|
string(JSON _patch GET "${raw_patches}" "${IDX}")
|
||||||
|
|
||||||
|
set(full_patch
|
||||||
|
"${PROJECT_SOURCE_DIR}/.patch/${JSON_NAME}/${_patch}")
|
||||||
|
if(NOT EXISTS ${full_patch})
|
||||||
|
cpm_utils_message(FATAL_ERROR ${JSON_NAME}
|
||||||
|
"specifies patch ${full_patch} which does not exist")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list(APPEND patches "${full_patch}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
# end format patchdir
|
||||||
|
|
||||||
|
# options
|
||||||
|
get_json_element("${object}" raw_options options "")
|
||||||
|
|
||||||
|
if(raw_options)
|
||||||
|
array_to_list("${raw_options}" ${raw_options_LENGTH} options)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(options ${options} ${JSON_OPTIONS})
|
||||||
|
# end options
|
||||||
|
|
||||||
|
# system/bundled
|
||||||
|
if(bundled STREQUAL "unset" AND DEFINED JSON_BUNDLED_PACKAGE)
|
||||||
|
set(bundled ${JSON_BUNDLED_PACKAGE})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
# The preferred usage
|
# The preferred usage
|
||||||
function(AddJsonPackage)
|
function(AddJsonPackage)
|
||||||
set(oneValueArgs
|
set(oneValueArgs
|
||||||
|
|
@ -80,7 +242,8 @@ function(AddJsonPackage)
|
||||||
# these are overrides that can be generated at runtime,
|
# these are overrides that can be generated at runtime,
|
||||||
# so can be defined separately from the json
|
# so can be defined separately from the json
|
||||||
DOWNLOAD_ONLY
|
DOWNLOAD_ONLY
|
||||||
BUNDLED_PACKAGE)
|
BUNDLED_PACKAGE
|
||||||
|
FORCE_BUNDLED_PACKAGE)
|
||||||
|
|
||||||
set(multiValueArgs OPTIONS)
|
set(multiValueArgs OPTIONS)
|
||||||
|
|
||||||
|
|
@ -111,24 +274,9 @@ function(AddJsonPackage)
|
||||||
cpm_utils_message(FATAL_ERROR ${JSON_NAME} "Not found in cpmfile")
|
cpm_utils_message(FATAL_ERROR ${JSON_NAME} "Not found in cpmfile")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
get_json_element("${object}" package package ${JSON_NAME})
|
parse_object(${object})
|
||||||
get_json_element("${object}" repo repo "")
|
|
||||||
get_json_element("${object}" ci ci OFF)
|
|
||||||
get_json_element("${object}" version version "")
|
|
||||||
|
|
||||||
if(ci)
|
if(ci)
|
||||||
get_json_element("${object}" name name "${JSON_NAME}")
|
|
||||||
get_json_element("${object}" extension extension "tar.zst")
|
|
||||||
get_json_element("${object}" min_version min_version "")
|
|
||||||
get_json_element("${object}" raw_disabled disabled_platforms "")
|
|
||||||
|
|
||||||
if(raw_disabled)
|
|
||||||
array_to_list("${raw_disabled}"
|
|
||||||
${raw_disabled_LENGTH} disabled_platforms)
|
|
||||||
else()
|
|
||||||
set(disabled_platforms "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
AddCIPackage(
|
AddCIPackage(
|
||||||
VERSION ${version}
|
VERSION ${version}
|
||||||
NAME ${name}
|
NAME ${name}
|
||||||
|
|
@ -138,116 +286,38 @@ function(AddJsonPackage)
|
||||||
MIN_VERSION ${min_version}
|
MIN_VERSION ${min_version}
|
||||||
DISABLED_PLATFORMS ${disabled_platforms})
|
DISABLED_PLATFORMS ${disabled_platforms})
|
||||||
|
|
||||||
# pass stuff to parent scope
|
|
||||||
set(${package}_ADDED "${${package}_ADDED}"
|
|
||||||
PARENT_SCOPE)
|
|
||||||
set(${package}_SOURCE_DIR "${${package}_SOURCE_DIR}"
|
|
||||||
PARENT_SCOPE)
|
|
||||||
set(${package}_BINARY_DIR "${${package}_BINARY_DIR}"
|
|
||||||
PARENT_SCOPE)
|
|
||||||
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
get_json_element("${object}" hash hash "")
|
|
||||||
get_json_element("${object}" hash_suffix hash_suffix "")
|
|
||||||
get_json_element("${object}" sha sha "")
|
|
||||||
get_json_element("${object}" url url "")
|
|
||||||
get_json_element("${object}" key key "")
|
|
||||||
get_json_element("${object}" tag tag "")
|
|
||||||
get_json_element("${object}" artifact artifact "")
|
|
||||||
get_json_element("${object}" git_version git_version "")
|
|
||||||
get_json_element("${object}" git_host git_host "")
|
|
||||||
get_json_element("${object}" source_subdir source_subdir "")
|
|
||||||
get_json_element("${object}" bundled bundled "unset")
|
|
||||||
get_json_element("${object}" find_args find_args "")
|
|
||||||
get_json_element("${object}" raw_patches patches "")
|
|
||||||
|
|
||||||
# okay here comes the fun part: REPLACEMENTS!
|
|
||||||
# first: tag gets %VERSION% replaced if applicable,
|
|
||||||
# with either git_version (preferred) or version
|
|
||||||
# second: artifact gets %VERSION% and %TAG% replaced
|
|
||||||
# accordingly (same rules for VERSION)
|
|
||||||
|
|
||||||
if(git_version)
|
|
||||||
set(version_replace ${git_version})
|
|
||||||
else()
|
else()
|
||||||
set(version_replace ${version})
|
if (NOT DEFINED JSON_FORCE_BUNDLED_PACKAGE)
|
||||||
|
set(JSON_FORCE_BUNDLED_PACKAGE OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
AddPackage(
|
||||||
|
NAME "${package}"
|
||||||
|
VERSION "${version}"
|
||||||
|
URL "${url}"
|
||||||
|
HASH "${hash}"
|
||||||
|
HASH_SUFFIX "${hash_suffix}"
|
||||||
|
SHA "${sha}"
|
||||||
|
REPO "${repo}"
|
||||||
|
KEY "${key}"
|
||||||
|
PATCHES "${patches}"
|
||||||
|
OPTIONS "${options}"
|
||||||
|
FIND_PACKAGE_ARGUMENTS "${find_args}"
|
||||||
|
BUNDLED_PACKAGE "${bundled}"
|
||||||
|
FORCE_BUNDLED_PACKAGE "${JSON_FORCE_BUNDLED_PACKAGE}"
|
||||||
|
SOURCE_SUBDIR "${source_subdir}"
|
||||||
|
|
||||||
|
GIT_VERSION ${git_version}
|
||||||
|
GIT_HOST ${git_host}
|
||||||
|
|
||||||
|
ARTIFACT ${artifact}
|
||||||
|
TAG ${tag})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# TODO(crueter): fmt module for cmake
|
|
||||||
if(tag)
|
|
||||||
string(REPLACE "%VERSION%" "${version_replace}" tag ${tag})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(artifact)
|
|
||||||
string(REPLACE "%VERSION%" "${version_replace}" artifact ${artifact})
|
|
||||||
string(REPLACE "%TAG%" "${tag}" artifact ${artifact})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# format patchdir
|
|
||||||
if(raw_patches)
|
|
||||||
math(EXPR range "${raw_patches_LENGTH} - 1")
|
|
||||||
|
|
||||||
foreach(IDX RANGE ${range})
|
|
||||||
string(JSON _patch GET "${raw_patches}" "${IDX}")
|
|
||||||
|
|
||||||
set(full_patch
|
|
||||||
"${PROJECT_SOURCE_DIR}/.patch/${JSON_NAME}/${_patch}")
|
|
||||||
if(NOT EXISTS ${full_patch})
|
|
||||||
cpm_utils_message(FATAL_ERROR ${JSON_NAME}
|
|
||||||
"specifies patch ${full_patch} which does not exist")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND patches "${full_patch}")
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
# end format patchdir
|
|
||||||
|
|
||||||
# options
|
|
||||||
get_json_element("${object}" raw_options options "")
|
|
||||||
|
|
||||||
if(raw_options)
|
|
||||||
array_to_list("${raw_options}" ${raw_options_LENGTH} options)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(options ${options} ${JSON_OPTIONS})
|
|
||||||
# end options
|
|
||||||
|
|
||||||
# system/bundled
|
|
||||||
if(bundled STREQUAL "unset" AND DEFINED JSON_BUNDLED_PACKAGE)
|
|
||||||
set(bundled ${JSON_BUNDLED_PACKAGE})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
AddPackage(
|
|
||||||
NAME "${package}"
|
|
||||||
VERSION "${version}"
|
|
||||||
URL "${url}"
|
|
||||||
HASH "${hash}"
|
|
||||||
HASH_SUFFIX "${hash_suffix}"
|
|
||||||
SHA "${sha}"
|
|
||||||
REPO "${repo}"
|
|
||||||
KEY "${key}"
|
|
||||||
PATCHES "${patches}"
|
|
||||||
OPTIONS "${options}"
|
|
||||||
FIND_PACKAGE_ARGUMENTS "${find_args}"
|
|
||||||
BUNDLED_PACKAGE "${bundled}"
|
|
||||||
SOURCE_SUBDIR "${source_subdir}"
|
|
||||||
|
|
||||||
GIT_VERSION ${git_version}
|
|
||||||
GIT_HOST ${git_host}
|
|
||||||
|
|
||||||
ARTIFACT ${artifact}
|
|
||||||
TAG ${tag})
|
|
||||||
|
|
||||||
# pass stuff to parent scope
|
# pass stuff to parent scope
|
||||||
set(${package}_ADDED "${${package}_ADDED}"
|
Propagate(${package}_ADDED)
|
||||||
PARENT_SCOPE)
|
Propagate(${package}_SOURCE_DIR)
|
||||||
set(${package}_SOURCE_DIR "${${package}_SOURCE_DIR}"
|
Propagate(${package}_BINARY_DIR)
|
||||||
PARENT_SCOPE)
|
|
||||||
set(${package}_BINARY_DIR "${${package}_BINARY_DIR}"
|
|
||||||
PARENT_SCOPE)
|
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(AddPackage)
|
function(AddPackage)
|
||||||
|
|
@ -343,7 +413,7 @@ function(AddPackage)
|
||||||
|
|
||||||
if(DEFINED PKG_ARGS_ARTIFACT)
|
if(DEFINED PKG_ARGS_ARTIFACT)
|
||||||
set(pkg_url
|
set(pkg_url
|
||||||
${pkg_git_url}/releases/download/${PKG_ARGS_TAG}/${PKG_ARGS_ARTIFACT})
|
"${pkg_git_url}/releases/download/${PKG_ARGS_TAG}/${PKG_ARGS_ARTIFACT}")
|
||||||
else()
|
else()
|
||||||
set(pkg_url
|
set(pkg_url
|
||||||
${pkg_git_url}/archive/refs/tags/${PKG_ARGS_TAG}.tar.gz)
|
${pkg_git_url}/archive/refs/tags/${PKG_ARGS_TAG}.tar.gz)
|
||||||
|
|
@ -625,7 +695,8 @@ function(AddCIPackage)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (DEFINED pkgname AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS)
|
if (DEFINED pkgname AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS)
|
||||||
set(ARTIFACT "${ARTIFACT_NAME}-${pkgname}-${ARTIFACT_VERSION}.${ARTIFACT_EXT}")
|
set(ARTIFACT
|
||||||
|
"${ARTIFACT_NAME}-${pkgname}-${ARTIFACT_VERSION}.${ARTIFACT_EXT}")
|
||||||
|
|
||||||
AddPackage(
|
AddPackage(
|
||||||
NAME ${ARTIFACT_PACKAGE}
|
NAME ${ARTIFACT_PACKAGE}
|
||||||
|
|
@ -644,8 +715,8 @@ function(AddCIPackage)
|
||||||
"${${ARTIFACT_PACKAGE}_SOURCE_DIR}" PARENT_SCOPE)
|
"${${ARTIFACT_PACKAGE}_SOURCE_DIR}" PARENT_SCOPE)
|
||||||
|
|
||||||
if (PKG_ARGS_MODULE)
|
if (PKG_ARGS_MODULE)
|
||||||
list(APPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}")
|
list(PREPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}")
|
||||||
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
|
Propagate(CMAKE_PREFIX_PATH)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
find_package(${ARTIFACT_PACKAGE} ${ARTIFACT_MIN_VERSION} REQUIRED)
|
find_package(${ARTIFACT_PACKAGE} ${ARTIFACT_MIN_VERSION} REQUIRED)
|
||||||
|
|
@ -659,7 +730,7 @@ function(AddQt version)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
AddCIPackage(
|
AddCIPackage(
|
||||||
NAME Qt
|
NAME qt
|
||||||
PACKAGE Qt6
|
PACKAGE Qt6
|
||||||
VERSION ${version}
|
VERSION ${version}
|
||||||
MIN_VERSION 6
|
MIN_VERSION 6
|
||||||
|
|
@ -669,5 +740,8 @@ function(AddQt version)
|
||||||
freebsd-amd64 solaris-amd64 openbsd-amd64
|
freebsd-amd64 solaris-amd64 openbsd-amd64
|
||||||
MODULE)
|
MODULE)
|
||||||
|
|
||||||
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} PARENT_SCOPE)
|
find_package(Qt6 REQUIRED PATHS ${Qt6_SOURCE_DIR} NO_DEFAULT_PATH)
|
||||||
|
|
||||||
|
Propagate(CMAKE_PREFIX_PATH)
|
||||||
|
Propagate(Qt6_SOURCE_DIR)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf>
|
# SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf>
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
@ -13,7 +16,8 @@ endif()
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
find_package_handle_standard_args(LLVM HANDLE_COMPONENTS CONFIG_MODE)
|
find_package_handle_standard_args(LLVM HANDLE_COMPONENTS CONFIG_MODE)
|
||||||
|
|
||||||
if (LLVM_FOUND AND LLVM_Demangle_FOUND AND NOT TARGET LLVM::Demangle)
|
# Demangle only for Windows targets
|
||||||
|
if (WIN32 AND LLVM_FOUND AND LLVM_Demangle_FOUND AND NOT TARGET LLVM::Demangle)
|
||||||
add_library(LLVM::Demangle INTERFACE IMPORTED)
|
add_library(LLVM::Demangle INTERFACE IMPORTED)
|
||||||
target_compile_definitions(LLVM::Demangle INTERFACE ${LLVM_DEFINITIONS})
|
target_compile_definitions(LLVM::Demangle INTERFACE ${LLVM_DEFINITIONS})
|
||||||
target_include_directories(LLVM::Demangle INTERFACE ${LLVM_INCLUDE_DIRS})
|
target_include_directories(LLVM::Demangle INTERFACE ${LLVM_INCLUDE_DIRS})
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2022 yuzu Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
|
|
||||||
find_package(PkgConfig QUIET)
|
|
||||||
pkg_search_module(SPIRV-Tools QUIET IMPORTED_TARGET SPIRV-Tools)
|
|
||||||
find_package_handle_standard_args(SPIRV-Tools
|
|
||||||
REQUIRED_VARS SPIRV-Tools_LINK_LIBRARIES
|
|
||||||
VERSION_VAR SPIRV-Tools_VERSION
|
|
||||||
)
|
|
||||||
|
|
||||||
if (PLATFORM_MSYS)
|
|
||||||
FixMsysPath(PkgConfig::SPIRV-Tools)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (SPIRV-Tools_FOUND AND NOT TARGET SPIRV-Tools::SPIRV-Tools)
|
|
||||||
if (TARGET SPIRV-Tools)
|
|
||||||
add_library(SPIRV-Tools::SPIRV-Tools ALIAS SPIRV-Tools)
|
|
||||||
else()
|
|
||||||
add_library(SPIRV-Tools::SPIRV-Tools ALIAS PkgConfig::SPIRV-Tools)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
# SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
||||||
|
|
@ -15,27 +15,45 @@ endfunction()
|
||||||
get_timestamp(BUILD_DATE)
|
get_timestamp(BUILD_DATE)
|
||||||
|
|
||||||
if (DEFINED GIT_RELEASE)
|
if (DEFINED GIT_RELEASE)
|
||||||
set(BUILD_VERSION "${GIT_TAG}")
|
set(BUILD_VERSION "${GIT_TAG}")
|
||||||
set(GIT_REFSPEC "${GIT_RELEASE}")
|
set(GIT_REFSPEC "${GIT_RELEASE}")
|
||||||
set(IS_DEV_BUILD false)
|
set(IS_DEV_BUILD false)
|
||||||
else()
|
else()
|
||||||
string(SUBSTRING ${GIT_COMMIT} 0 10 BUILD_VERSION)
|
string(SUBSTRING ${GIT_COMMIT} 0 10 BUILD_VERSION)
|
||||||
set(BUILD_VERSION "${BUILD_VERSION}-${GIT_REFSPEC}")
|
set(BUILD_VERSION "${BUILD_VERSION}-${GIT_REFSPEC}")
|
||||||
set(IS_DEV_BUILD true)
|
set(IS_DEV_BUILD true)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NIGHTLY_BUILD)
|
||||||
|
set(IS_NIGHTLY_BUILD true)
|
||||||
|
else()
|
||||||
|
set(IS_NIGHTLY_BUILD false)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(GIT_DESC ${BUILD_VERSION})
|
set(GIT_DESC ${BUILD_VERSION})
|
||||||
|
|
||||||
# Generate cpp with Git revision from template
|
# Generate cpp with Git revision from template
|
||||||
# Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well
|
|
||||||
set(REPO_NAME "Eden")
|
# TODO(crueter): Stable releases feed.
|
||||||
|
set(BUILD_AUTO_UPDATE_STABLE_REPO "eden-emu/eden")
|
||||||
|
set(BUILD_AUTO_UPDATE_STABLE_API "git.eden-emu.dev")
|
||||||
|
set(BUILD_AUTO_UPDATE_STABLE_API_PATH "/api/v1/repos/")
|
||||||
|
|
||||||
|
set(BUILD_AUTO_UPDATE_API_PATH "/latest/release.json")
|
||||||
|
if (NIGHTLY_BUILD)
|
||||||
|
set(BUILD_AUTO_UPDATE_WEBSITE "https://git.eden-emu.dev")
|
||||||
|
set(BUILD_AUTO_UPDATE_API "nightly.eden-emu.dev")
|
||||||
|
set(BUILD_AUTO_UPDATE_REPO "eden-ci/nightly")
|
||||||
|
set(REPO_NAME "Eden Nightly")
|
||||||
|
else()
|
||||||
|
set(BUILD_AUTO_UPDATE_WEBSITE "https://git.eden-emu.dev")
|
||||||
|
set(BUILD_AUTO_UPDATE_API "stable.eden-emu.dev")
|
||||||
|
set(BUILD_AUTO_UPDATE_REPO "eden-emu/eden")
|
||||||
|
set(REPO_NAME "Eden")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(BUILD_ID ${GIT_REFSPEC})
|
set(BUILD_ID ${GIT_REFSPEC})
|
||||||
set(BUILD_FULLNAME "${REPO_NAME} ${BUILD_VERSION} ")
|
set(BUILD_FULLNAME "${REPO_NAME} ${BUILD_VERSION} ")
|
||||||
set(CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
|
set(CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
|
||||||
|
|
||||||
# Auto-updater metadata! Must somewhat mirror GitHub API endpoint
|
|
||||||
set(BUILD_AUTO_UPDATE_WEBSITE "https://github.com")
|
|
||||||
set(BUILD_AUTO_UPDATE_API "http://api.github.com")
|
|
||||||
set(BUILD_AUTO_UPDATE_REPO "eden-emulator/Releases")
|
|
||||||
|
|
||||||
configure_file(scm_rev.cpp.in scm_rev.cpp @ONLY)
|
configure_file(scm_rev.cpp.in scm_rev.cpp @ONLY)
|
||||||
|
|
|
||||||
10
README.md
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
<h1 align="center">
|
<h1 align="center">
|
||||||
<br>
|
<br>
|
||||||
<a href="https://git.eden-emu.dev/eden-emu/eden"><img src="./dist/qt_themes/default/icons/256x256/eden_named.png" alt="Eden" width="200"></a>
|
<a href="https://git.eden-emu.dev/eden-emu/eden"><img src="./dist/qt_themes/default/icons/256x256/eden.png" alt="Eden" width="200"></a>
|
||||||
<br>
|
<br>
|
||||||
<b>Eden</b>
|
<b>Eden</b>
|
||||||
<br>
|
<br>
|
||||||
|
|
@ -61,6 +61,10 @@ See the [sign-up instructions](docs/SIGNUP.md) for information on registration.
|
||||||
|
|
||||||
Alternatively, if you wish to add translations, go to the [Eden project on Transifex](https://app.transifex.com/edenemu/eden-emulator) and review [the translations README](./dist/languages).
|
Alternatively, if you wish to add translations, go to the [Eden project on Transifex](https://app.transifex.com/edenemu/eden-emulator) and review [the translations README](./dist/languages).
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
We have a user manual! See our [User Handbook](./docs/user/README.md).
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
See the [General Build Guide](docs/Build.md)
|
See the [General Build Guide](docs/Build.md)
|
||||||
|
|
@ -69,7 +73,9 @@ For information on provided development tooling, see the [Tools directory](./too
|
||||||
|
|
||||||
## Download
|
## Download
|
||||||
|
|
||||||
You can download the latest releases from [here](https://github.com/eden-emulator/Releases/releases).
|
You can download the latest releases from [here](https://git.eden-emu.dev/eden-emu/eden/releases).
|
||||||
|
|
||||||
|
Save us some bandwidth! We have [mirrors available](./docs/user/ThirdParty.md#mirrors) as well.
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
|
|
|
||||||
76
cpmfile.json
|
|
@ -1,25 +1,51 @@
|
||||||
{
|
{
|
||||||
"openssl": {
|
"openssl-ci": {
|
||||||
"ci": true,
|
"ci": true,
|
||||||
"package": "OpenSSL",
|
"package": "OpenSSL",
|
||||||
"name": "openssl",
|
"name": "openssl",
|
||||||
"repo": "crueter-ci/OpenSSL",
|
"repo": "crueter-ci/OpenSSL",
|
||||||
"version": "3.6.0-1cb0d36b39",
|
"version": "3.6.0-1cb0d36b39",
|
||||||
"min_version": "1.1.1"
|
"min_version": "3"
|
||||||
|
},
|
||||||
|
"openssl-cmake": {
|
||||||
|
"repo": "jimmy-park/openssl-cmake",
|
||||||
|
"hash": "2cc185c924fd70e7d886257ca0caa42b3b8f7f712f2052b4f94dde74759e27022de76178460e18c9bdfc57c366583999e198fbb6052d4e7d91c099d15a0ca63e",
|
||||||
|
"git_version": "3.6.2",
|
||||||
|
"tag": "%VERSION%",
|
||||||
|
"bundled": true,
|
||||||
|
"options": [
|
||||||
|
"OPENSSL_CONFIGURE_OPTIONS threads"
|
||||||
|
],
|
||||||
|
"patches": [
|
||||||
|
"0001-cpmutil-compat.patch",
|
||||||
|
"0002-use-ccache.patch",
|
||||||
|
"0003-use-cmake-compiler-flags.patch",
|
||||||
|
"0004-use-shell-wrapper.patch"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"openssl": {
|
||||||
|
"repo": "openssl/openssl",
|
||||||
|
"package": "OpenSSL",
|
||||||
|
"min_version": "3",
|
||||||
|
"version": "3",
|
||||||
|
"hash": "29002ce50cb95a4f4f1d0e9d3f684401fbd4eac34203dc2eef3b6334af5d44aa46bf788b63a6f5c139c383eafb7269ae87a58a9a3ad5912903b9773e545ccc0a",
|
||||||
|
"git_version": "3.6.2",
|
||||||
|
"tag": "openssl-%VERSION%",
|
||||||
|
"patches": [
|
||||||
|
"0001-add-bundled-cert.patch"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"boost": {
|
"boost": {
|
||||||
"package": "Boost",
|
"package": "Boost",
|
||||||
"repo": "boostorg/boost",
|
"repo": "boostorg/boost",
|
||||||
"tag": "boost-%VERSION%",
|
"tag": "boost-%VERSION%",
|
||||||
"artifact": "%TAG%-cmake.tar.xz",
|
"artifact": "%TAG%-cmake.tar.xz",
|
||||||
"hash": "4fb7f6fde92762305aad8754d7643cd918dd1f3f67e104e9ab385b18c73178d72a17321354eb203b790b6702f2cf6d725a5d6e2dfbc63b1e35f9eb59fb42ece9",
|
"hash": "6ae6e94664fe7f2fb01976b59b276ac5df8085c7503fa829d810fbfe495960cfec44fa2c36e2cb23480bc19c956ed199d4952b02639a00a6c07625d4e7130c2d",
|
||||||
"git_version": "1.89.0",
|
"git_version": "1.90.0",
|
||||||
"version": "1.57",
|
"version": "1.57",
|
||||||
"find_args": "CONFIG OPTIONAL_COMPONENTS headers context system fiber filesystem",
|
"find_args": "CONFIG OPTIONAL_COMPONENTS headers context system fiber filesystem",
|
||||||
"patches": [
|
"patches": [
|
||||||
"0001-clang-cl.patch",
|
"0001-clang-cl.patch"
|
||||||
"0002-use-marmasm.patch",
|
|
||||||
"0003-armasm-options.patch"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"fmt": {
|
"fmt": {
|
||||||
|
|
@ -48,9 +74,9 @@
|
||||||
"package": "ZLIB",
|
"package": "ZLIB",
|
||||||
"repo": "madler/zlib",
|
"repo": "madler/zlib",
|
||||||
"tag": "v%VERSION%",
|
"tag": "v%VERSION%",
|
||||||
"hash": "8c9642495bafd6fad4ab9fb67f09b268c69ff9af0f4f20cf15dfc18852ff1f312bd8ca41de761b3f8d8e90e77d79f2ccacd3d4c5b19e475ecf09d021fdfe9088",
|
"hash": "16fea4df307a68cf0035858abe2fd550250618a97590e202037acd18a666f57afc10f8836cbbd472d54a0e76539d0e558cb26f059d53de52ff90634bbf4f47d4",
|
||||||
"version": "1.2",
|
"version": "1.2",
|
||||||
"git_version": "1.3.1",
|
"git_version": "1.3.2",
|
||||||
"options": [
|
"options": [
|
||||||
"ZLIB_BUILD_SHARED OFF",
|
"ZLIB_BUILD_SHARED OFF",
|
||||||
"ZLIB_INSTALL OFF"
|
"ZLIB_INSTALL OFF"
|
||||||
|
|
@ -69,13 +95,17 @@
|
||||||
},
|
},
|
||||||
"opus": {
|
"opus": {
|
||||||
"package": "Opus",
|
"package": "Opus",
|
||||||
"repo": "crueter/opus",
|
"repo": "xiph/opus",
|
||||||
"sha": "ab19c44fad",
|
"sha": "a3f0ec02b3",
|
||||||
"hash": "d632e8f83c5d3245db404bcb637113f9860bf16331498ba2c8e77979d1febee6b52d8b1da448e7d54eeac373e912cd55e3e300fc6c242244923323280dc43fbe",
|
"hash": "9506147b0de35befda8633ff272981cc2575c860874791bd455b752f797fd7dbd1079f0ba42ccdd7bb1fe6773fa5e84b3d75667c2883dd1fb2d0e4a5fa4f8387",
|
||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"find_args": "MODULE",
|
"find_args": "MODULE",
|
||||||
"options": [
|
"options": [
|
||||||
"OPUS_PRESUME_NEON ON"
|
"OPUS_PRESUME_NEON ON"
|
||||||
|
],
|
||||||
|
"patches": [
|
||||||
|
"0001-disable-clang-runtime-neon.patch",
|
||||||
|
"0002-no-install.patch"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"boost_headers": {
|
"boost_headers": {
|
||||||
|
|
@ -85,8 +115,8 @@
|
||||||
"bundled": true
|
"bundled": true
|
||||||
},
|
},
|
||||||
"llvm-mingw": {
|
"llvm-mingw": {
|
||||||
"repo": "misc/llvm-mingw",
|
"repo": "eden-emu/llvm-mingw",
|
||||||
"git_host": "git.crueter.xyz",
|
"git_host": "git.eden-emu.dev",
|
||||||
"tag": "%VERSION%",
|
"tag": "%VERSION%",
|
||||||
"version": "20250828",
|
"version": "20250828",
|
||||||
"artifact": "clang-rt-builtins.tar.zst",
|
"artifact": "clang-rt-builtins.tar.zst",
|
||||||
|
|
@ -96,8 +126,22 @@
|
||||||
"package": "VVL",
|
"package": "VVL",
|
||||||
"repo": "KhronosGroup/Vulkan-ValidationLayers",
|
"repo": "KhronosGroup/Vulkan-ValidationLayers",
|
||||||
"tag": "vulkan-sdk-%VERSION%",
|
"tag": "vulkan-sdk-%VERSION%",
|
||||||
"git_version": "1.4.335.0",
|
"git_version": "1.4.341.0",
|
||||||
"artifact": "android-binaries-%VERSION%.zip",
|
"artifact": "android-binaries-%VERSION%.zip",
|
||||||
"hash": "48167c4a17736301bd08f9290f41830443e1f18cce8ad867fc6f289b49e18b40e93c9850b377951af82f51b5b6d7313aa6a884fc5df79f5ce3df82696c1c1244"
|
"hash": "8812ae84cbe49e6a3418ade9c458d3be6d74a3dffd319d4502007b564d580998056e8190414368ec11b27bc83993c7a0dad713c31bcc3d9553b51243efee3753"
|
||||||
|
},
|
||||||
|
"quazip": {
|
||||||
|
"package": "QuaZip-Qt6",
|
||||||
|
"repo": "stachenov/quazip",
|
||||||
|
"sha": "2e95c9001b",
|
||||||
|
"hash": "609c240c7f029ac26a37d8fbab51bc16284e05e128b78b9b9c0e95d083538c36047a67d682759ac990e4adb0eeb90f04f1ea7fe2253bbda7e7e3bcce32e53dd8",
|
||||||
|
"version": "1.3",
|
||||||
|
"git_version": "1.5",
|
||||||
|
"options": [
|
||||||
|
"QUAZIP_QT_MAJOR_VERSION 6",
|
||||||
|
"QUAZIP_INSTALL OFF",
|
||||||
|
"QUAZIP_ENABLE_QTEXTCODEC OFF",
|
||||||
|
"QUAZIP_BZIP2 OFF"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
8
dist/72-eden-input.rules
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# Allow systemd-logind to manage user access to hidraw with this file
|
||||||
|
# On most systems, this file should be installed to /etc/udev/rules.d/72-eden-input.rules
|
||||||
|
# Consult your distro if this is not the case
|
||||||
|
|
||||||
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ENV{ID_INPUT_JOYSTICK}=="1", MODE="0660", TAG+="uaccess"
|
||||||
19
dist/72-yuzu-input.rules
vendored
|
|
@ -1,19 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
# Allow systemd-logind to manage user access to hidraw with this file
|
|
||||||
# On most systems, this file should be installed to /etc/udev/rules.d/72-yuzu-input.rules
|
|
||||||
# Consult your distro if this is not the case
|
|
||||||
|
|
||||||
# Switch Pro Controller (USB/Bluetooth)
|
|
||||||
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0660", TAG+="uaccess"
|
|
||||||
KERNEL=="hidraw*", KERNELS=="*057e:2009*", MODE="0660", TAG+="uaccess"
|
|
||||||
|
|
||||||
# Joy-Con L (Bluetooth)
|
|
||||||
KERNEL=="hidraw*", KERNELS=="*057e:2006*", MODE="0660", TAG+="uaccess"
|
|
||||||
|
|
||||||
# Joy-Con R (Bluetooth)
|
|
||||||
KERNEL=="hidraw*", KERNELS=="*057e:2007*", MODE="0660", TAG+="uaccess"
|
|
||||||
|
|
||||||
# Joy-Con Charging Grip (USB)
|
|
||||||
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="200e", MODE="0660", TAG+="uaccess"
|
|
||||||
BIN
dist/Assets.car
vendored
BIN
dist/eden.bmp
vendored
|
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 256 KiB |
BIN
dist/eden.icns
vendored
BIN
dist/eden.ico
vendored
|
Before Width: | Height: | Size: 332 KiB After Width: | Height: | Size: 335 KiB |
230
dist/eden.icon/Assets/dev.eden_emu.eden.svg
vendored
Normal file
|
|
@ -0,0 +1,230 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="512"
|
||||||
|
height="512"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg7"
|
||||||
|
sodipodi:docname="base.svg.2026_01_12_14_43_47.0.svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e94, 2025-05-08)"
|
||||||
|
inkscape:export-filename="base.svg.2026_01_12_14_43_47.0.svg"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs7">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient1"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ff2e88;stop-opacity:0.5;"
|
||||||
|
offset="0"
|
||||||
|
id="stop3" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#bf42f6;stop-opacity:0.5;"
|
||||||
|
offset="0.44631511"
|
||||||
|
id="stop4" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5da5ed;stop-opacity:0.5;"
|
||||||
|
offset="0.90088946"
|
||||||
|
id="stop2" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient138"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ff2e88;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop152" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#bf42f6;stop-opacity:1;"
|
||||||
|
offset="0.44971901"
|
||||||
|
id="stop137" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5da5ed;stop-opacity:1;"
|
||||||
|
offset="0.89793283"
|
||||||
|
id="stop138" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch37"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop37" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch28"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#252525;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop28" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch27"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#000000;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop27" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch15"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop16" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient14"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop14" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop15" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch9"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop10" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch8"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop9" />
|
||||||
|
</linearGradient>
|
||||||
|
<rect
|
||||||
|
x="22.627417"
|
||||||
|
y="402.76802"
|
||||||
|
width="521.34025"
|
||||||
|
height="248.94868"
|
||||||
|
id="rect24" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient11"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ff2e88;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop11" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#bf42f6;stop-opacity:1;"
|
||||||
|
offset="0.44971901"
|
||||||
|
id="stop154" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#5da5ed;stop-opacity:1;"
|
||||||
|
offset="0.89793283"
|
||||||
|
id="stop12" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient138"
|
||||||
|
id="linearGradient6"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(1.118028,0,0,1.116699,-46.314723,-42.388667)"
|
||||||
|
x1="270.39996"
|
||||||
|
y1="40.000019"
|
||||||
|
x2="270.39996"
|
||||||
|
y2="494.39996"
|
||||||
|
spreadMethod="pad" />
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath18">
|
||||||
|
<circle
|
||||||
|
style="opacity:1;mix-blend-mode:normal;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10.8382;stroke-opacity:0.566238;paint-order:stroke fill markers"
|
||||||
|
id="circle18"
|
||||||
|
cx="-246.8315"
|
||||||
|
cy="246.8338"
|
||||||
|
inkscape:label="Circle"
|
||||||
|
r="191.89999" />
|
||||||
|
</clipPath>
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath22">
|
||||||
|
<circle
|
||||||
|
style="opacity:1;mix-blend-mode:normal;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10.8382;stroke-opacity:0.566238;paint-order:stroke fill markers"
|
||||||
|
id="circle22"
|
||||||
|
cx="256"
|
||||||
|
cy="256"
|
||||||
|
inkscape:label="Circle"
|
||||||
|
r="191.89999" />
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient11"
|
||||||
|
id="linearGradient27"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="translate(-6.9401139e-5,-2.8678628)"
|
||||||
|
x1="256.00012"
|
||||||
|
y1="102.94693"
|
||||||
|
x2="256.00012"
|
||||||
|
y2="409.05307" />
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath128">
|
||||||
|
<circle
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#03ffff;stroke-width:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="circle128"
|
||||||
|
cx="256"
|
||||||
|
cy="256"
|
||||||
|
r="192" />
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1"
|
||||||
|
id="linearGradient2"
|
||||||
|
x1="256"
|
||||||
|
y1="64"
|
||||||
|
x2="256"
|
||||||
|
y2="448"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(1.3229974,0,0,1.3214002,-82.687336,-82.290326)" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="1.4142136"
|
||||||
|
inkscape:cx="261.62951"
|
||||||
|
inkscape:cy="230.87036"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1008"
|
||||||
|
inkscape:window-x="1080"
|
||||||
|
inkscape:window-y="351"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg7" />
|
||||||
|
<path
|
||||||
|
id="path8-7"
|
||||||
|
style="display:inline;mix-blend-mode:multiply;fill:url(#linearGradient6);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2);stroke-width:3.9666;stroke-dasharray:none;stroke-opacity:0.566238;paint-order:stroke fill markers"
|
||||||
|
inkscape:label="Circle"
|
||||||
|
d="M 256,2.2792898 A 254.0155,253.71401 0 0 0 150.68475,25.115202 c 19.54414,1.070775 38.74692,5.250294 51.56848,11.647658 14.14361,7.056691 28.63804,19.185961 39.4212,29.347551 h 40.60981 c 1.03847,-0.68139 2.10297,-1.36938 3.1938,-2.05957 5.45602,-15.78533 14.79164,-43.183497 19.49612,-57.0097682 A 254.0155,253.71401 0 0 0 256,2.2792898 Z m 61.57106,7.567234 -18.26098,46.1544672 c 7.79702,-4.13918 16.35655,-7.87447 25.20671,-10.87081 23.1229,-7.828433 43.96931,-10.170904 54.94058,-10.868226 A 254.0155,253.71401 0 0 0 317.57106,9.8465238 Z m 65.39277,26.4001532 c -9.68256,4.806644 -33.05532,16.642034 -55.68217,29.863734 H 424.4677 A 254.0155,253.71401 0 0 0 382.96383,36.246677 Z M 113.90698,45.690231 A 254.0155,253.71401 0 0 0 87.532302,66.110411 H 194.2739 c -1.47402,-0.80231 -2.35141,-1.25949 -2.35141,-1.25949 l 10.4496,-11.83348 -38.40568,7.01234 c 0,1e-5 -12.21537,-4.60266 -40.17313,-12.27223 -3.45336,-0.94731 -6.75329,-1.61824 -9.8863,-2.06732 z m -36.803618,30.18635 a 254.0155,253.71401 0 0 0 -34.88372,43.090929 h 59.976738 c 18.11461,-12.04145 40.14252,-22.882149 62.31266,-24.534159 52.93006,-3.9444 70.16538,1.86342 70.16538,1.86342 0,0 -4.612,-4.8206 -14.51938,-13.36656 -2.72366,-2.34942 -6.0844,-4.77373 -9.52455,-7.05363 z m 174.472868,0 c 4.57322,4.7186 7.29716,7.83565 7.29716,7.83565 0,0 3.53501,-3.18484 9.62532,-7.83565 z m 60.27649,0 c -21.56573,15.45339 -25.4703,27.979669 -25.4703,27.979669 0,0 54.83326,-19.215729 100.70543,-0.31228 11.63986,4.79661 21.58481,10.13159 29.94832,15.42354 h 52.74419 A 254.0155,253.71401 0 0 0 434.89664,75.876581 Z M 36.250648,128.73367 A 254.0155,253.71401 0 0 0 16.372095,171.82459 H 147.45478 c 1.45695,-2.5815 3.06539,-5.08648 4.83979,-7.48982 14.23694,-19.28301 27.92088,-30.0088 36.86047,-35.6011 h -30.25323 c -5.87346,0.93472 -12.04945,1.99094 -18.28166,3.16937 -30.12936,5.69727 -81.157618,22.78945 -81.157618,22.78945 0,0 11.47125,-12.39249 29.11369,-25.95882 z m 265.630492,0 c 33.48676,11.2434 52.42799,26.78443 62.7752,43.09092 h 130.97157 a 254.0155,253.71401 0 0 0 -19.87856,-43.09092 h -44.81136 c 14.85233,11.5863 21.59948,20.9854 21.59948,20.9854 0,0 -33.5226,-12.37087 -66.0646,-20.9854 z m -45.96641,16.27007 c -1.00419,0.0106 -10.12705,0.72026 -44.98966,20.64729 -3.12132,1.78406 -6.25434,3.86182 -9.37468,6.17356 h 41.81911 c 7.17181,-17.34774 12.64083,-26.82085 12.64083,-26.82085 0,0 -0.0287,-7.1e-4 -0.0957,0 z m 14.18088,0.0465 c 0,0 -3.31228,9.32762 -7.30492,26.77438 h 51.78554 C 287.6577,146.14158 270.09561,145.0502 270.09561,145.0502 Z M 13.152456,181.59075 A 254.0155,253.71401 0 0 0 3.927651,224.68167 H 134.1447 c 0.56161,-12.72411 2.67825,-28.50188 8.61499,-43.09092 z m 176.661504,0 c -14.27121,13.10564 -27.60733,29.58761 -37.56073,43.09092 h 73.3721 c 4.47018,-16.79061 9.35068,-31.26371 13.86562,-43.09092 z m 70.85787,0 c -2.41384,11.76417 -4.9032,26.20707 -6.94831,43.09092 H 360.4832 c -8.32133,-10.88917 -20.66988,-26.17008 -36.35141,-43.09092 z m 109.17313,0 c 6.63611,15.24089 6.92441,30.5373 5.57882,43.09092 h 132.64857 a 254.0155,253.71401 0 0 0 -9.22481,-43.09092 z M 2.90181,234.44783 A 254.0155,253.71401 0 0 0 1.984498,255.9933 254.0155,253.71401 0 0 0 2.90181,277.53876 h 211.89923 c 2.25762,-15.52555 5.14325,-29.93448 8.3385,-43.09093 h -77.8863 c -6.46396,9.27617 -10.33076,15.56549 -10.33076,15.56549 0,0 -0.82623,-6.14945 -0.9354,-15.56549 z m 249.72093,0 c -1.3692,13.09684 -2.4456,27.49209 -3.02068,43.09093 h 259.49613 a 254.0155,253.71401 0 0 0 0.91731,-21.54546 254.0155,253.71401 0 0 0 -0.91731,-21.54547 H 374.02584 c -0.445,2.5469 -0.90878,4.89768 -1.32817,7.01751 0,0 -1.69726,-2.53821 -4.94056,-7.01751 z M 3.927651,287.30493 a 254.0155,253.71401 0 0 0 9.224805,43.09091 H 214.04393 c -1.29238,-15.40742 -1.57503,-30.04388 -0.41861,-43.09091 z m 245.385009,0 c -0.30355,13.54349 -0.22032,27.92598 0.36951,43.09091 h 249.16537 a 254.0155,253.71401 0 0 0 9.22481,-43.09091 z M 16.369511,340.16201 a 254.0155,253.71401 0 0 0 19.878554,43.09091 H 221.4677 c -2.69781,-14.4523 -4.96108,-29.01285 -6.4832,-43.09091 z m 233.842379,0 c 1.15864,15.47765 3.81286,29.83979 7.51679,43.09091 h 218.02325 a 254.0155,253.71401 0 0 0 19.87856,-43.09091 z M 42.217052,393.01909 a 254.0155,253.71401 0 0 0 34.88372,43.09093 H 233.09561 c -3.40902,-13.67281 -6.76794,-28.2531 -9.73902,-43.09093 z m 218.490958,0 c 5.34985,16.15926 12.22007,30.51982 19.68733,43.09093 h 154.50389 a 254.0155,253.71401 0 0 0 34.88371,-43.09093 z M 87.529722,445.87618 a 254.0155,253.71401 0 0 0 166.229968,63.8208 c -3.67805,-12.0825 -10.85464,-35.49828 -18.18088,-63.8208 z m 199.010328,0 c 17.5887,26.43772 36.99259,43.60598 47.33592,51.61309 a 254.0155,253.71401 0 0 0 90.59431,-51.61309 z" />
|
||||||
|
<path
|
||||||
|
id="path27"
|
||||||
|
style="display:inline;mix-blend-mode:multiply;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient27);stroke-width:3;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="m 318.98012,441.7375 c -9.87518,-6.73978 -64.39137,-49.0272 -67.68975,-127.81978 -3.69298,-88.21893 15.36468,-141.91029 15.36468,-141.91029 0,0 16.00378,0.99513 39.80316,26.53195 23.79939,25.53753 37.74965,46.43102 37.74965,46.43102 3.91262,-19.79992 12.84563,-66.32402 -60.72865,-87.55523 0,0 12.82326,-5.38883 39.3925,-3.81382 26.56907,1.57572 81.6822,21.93799 81.6822,21.93799 0,0 -14.79766,-20.63773 -49.47063,-34.94295 -34.67291,-14.30533 -76.1182,0.23644 -76.1182,0.23644 0,0 3.86959,-12.43127 27.22669,-26.38478 23.35718,-13.9537 49.27409,-26.501533 49.27409,-26.501533 0,0 -21.97854,-0.26548 -47.67725,8.44535 -6.68948,2.267506 -13.15863,5.094213 -19.05208,8.226563 l 16.05803,-40.634103 -4.4617,-1.89059 -5.1305,-0.95965 c 0,0 -11.24072,33.12428 -16.92051,49.576513 -12.13137,7.68489 -20.11005,14.87735 -20.11005,14.87735 0,0 -21.90573,-25.09227 -42.79668,-35.527803 -26.03412,-13.00525 -86.88249,-13.90359 -94.0044,10.401173 0,0 13.56804,-7.884703 34.70032,-2.080917 21.13214,5.803997 30.3644,9.287307 30.3644,9.287307 l 29.02989,-5.30681 -7.89811,8.95527 c 0,0 13.8496,7.21324 21.33822,13.68063 7.48859,6.46722 10.9757,10.11472 10.9757,10.11472 0,0 -13.02739,-4.39388 -53.03507,-1.40893 -40.00771,2.98473 -79.40016,45.60209 -79.40016,45.60209 0,0 38.57037,-12.93531 61.34393,-17.24677 22.77354,-4.31126 44.52166,-6.46757 44.52166,-6.46757 0,0 -17.23298,5.97003 -35.69792,31.00932 -18.46522,25.03987 -13.13146,64.83866 -13.13146,64.83866 0,0 29.33874,-47.7577 57.44675,-63.84249 28.10798,-16.08527 34.0799,-15.6238 34.0799,-15.6238 0,0 -22.56785,39.13486 -31.39017,101.98268 -8.03005,57.2039 26.77689,163.75449 31.1572,178.89699"
|
||||||
|
sodipodi:nodetypes="cscsccscscscsccccccscscccscscscscscsc"
|
||||||
|
inkscape:label="MainOutline"
|
||||||
|
clip-path="url(#clipPath128)"
|
||||||
|
transform="matrix(1.3229974,0,0,1.3214002,-82.687282,-82.278451)" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 13 KiB |
37
dist/eden.icon/icon.json
vendored
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
"fill" : {
|
||||||
|
"automatic-gradient" : "srgb:0.00000,0.00000,0.00000,1.00000"
|
||||||
|
},
|
||||||
|
"groups" : [
|
||||||
|
{
|
||||||
|
"layers" : [
|
||||||
|
{
|
||||||
|
"fill" : "none",
|
||||||
|
"image-name" : "dev.eden_emu.eden.svg",
|
||||||
|
"name" : "dev.eden_emu.eden",
|
||||||
|
"position" : {
|
||||||
|
"scale" : 1.8,
|
||||||
|
"translation-in-points" : [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shadow" : {
|
||||||
|
"kind" : "neutral",
|
||||||
|
"opacity" : 0.5
|
||||||
|
},
|
||||||
|
"translucency" : {
|
||||||
|
"enabled" : true,
|
||||||
|
"value" : 0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"supported-platforms" : {
|
||||||
|
"circles" : [
|
||||||
|
"watchOS"
|
||||||
|
],
|
||||||
|
"squares" : "shared"
|
||||||
|
}
|
||||||
|
}
|
||||||
289
dist/icon_variations/1an.svg
vendored
Normal file
|
|
@ -0,0 +1,289 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="512"
|
||||||
|
height="512"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg7"
|
||||||
|
sodipodi:docname="1stanni.svg"
|
||||||
|
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
|
||||||
|
inkscape:export-filename="base.svg.2026_01_12_14_43_47.0.svg"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs7">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient34"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffd700;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop34" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffd700;stop-opacity:0.48031053;"
|
||||||
|
offset="1"
|
||||||
|
id="stop35" />
|
||||||
|
</linearGradient>
|
||||||
|
<rect
|
||||||
|
x="20.999999"
|
||||||
|
y="287.30493"
|
||||||
|
width="487.07235"
|
||||||
|
height="134.69506"
|
||||||
|
id="rect22" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient21"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#3a0057;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop21" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#830091;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop22" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch37"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop37" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch28"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#252525;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop28" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch27"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#000000;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop27" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch15"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop16" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient14"
|
||||||
|
inkscape:swatch="gradient">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop14" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop15" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch9"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop10" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="swatch8"
|
||||||
|
inkscape:swatch="solid">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop9" />
|
||||||
|
</linearGradient>
|
||||||
|
<rect
|
||||||
|
x="22.627417"
|
||||||
|
y="402.76802"
|
||||||
|
width="521.34025"
|
||||||
|
height="248.94868"
|
||||||
|
id="rect24" />
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath18">
|
||||||
|
<circle
|
||||||
|
style="opacity:1;mix-blend-mode:normal;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10.8382;stroke-opacity:0.566238;paint-order:stroke fill markers"
|
||||||
|
id="circle18"
|
||||||
|
cx="-246.8315"
|
||||||
|
cy="246.8338"
|
||||||
|
inkscape:label="Circle"
|
||||||
|
r="191.89999" />
|
||||||
|
</clipPath>
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath22">
|
||||||
|
<circle
|
||||||
|
style="opacity:1;mix-blend-mode:normal;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10.8382;stroke-opacity:0.566238;paint-order:stroke fill markers"
|
||||||
|
id="circle22"
|
||||||
|
cx="256"
|
||||||
|
cy="256"
|
||||||
|
inkscape:label="Circle"
|
||||||
|
r="191.89999" />
|
||||||
|
</clipPath>
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath128">
|
||||||
|
<circle
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#03ffff;stroke-width:0;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="circle128"
|
||||||
|
cx="256"
|
||||||
|
cy="256"
|
||||||
|
r="192" />
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient21"
|
||||||
|
id="linearGradient22"
|
||||||
|
x1="256"
|
||||||
|
y1="0"
|
||||||
|
x2="256"
|
||||||
|
y2="512"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient34"
|
||||||
|
id="linearGradient35"
|
||||||
|
x1="256"
|
||||||
|
y1="-0.048701428"
|
||||||
|
x2="256"
|
||||||
|
y2="512.04932"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<filter
|
||||||
|
inkscape:label="Glowing Bubble"
|
||||||
|
inkscape:menu="Ridges"
|
||||||
|
inkscape:menu-tooltip="Bubble effect with refraction and glow"
|
||||||
|
x="-0.19420711"
|
||||||
|
y="-0.11239541"
|
||||||
|
width="1.3884142"
|
||||||
|
height="1.2247908"
|
||||||
|
style="color-interpolation-filters:sRGB;"
|
||||||
|
id="filter61">
|
||||||
|
<feGaussianBlur
|
||||||
|
stdDeviation="1"
|
||||||
|
result="result1"
|
||||||
|
id="feGaussianBlur56" />
|
||||||
|
<feGaussianBlur
|
||||||
|
stdDeviation="10"
|
||||||
|
result="result6"
|
||||||
|
in="result1"
|
||||||
|
id="feGaussianBlur57" />
|
||||||
|
<feComposite
|
||||||
|
operator="atop"
|
||||||
|
in="result6"
|
||||||
|
in2="result1"
|
||||||
|
result="result8"
|
||||||
|
id="feComposite57" />
|
||||||
|
<feComposite
|
||||||
|
operator="xor"
|
||||||
|
result="fbSourceGraphic"
|
||||||
|
in="result6"
|
||||||
|
in2="result8"
|
||||||
|
id="feComposite58" />
|
||||||
|
<feColorMatrix
|
||||||
|
result="fbSourceGraphicAlpha"
|
||||||
|
in="fbSourceGraphic"
|
||||||
|
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 2 0 "
|
||||||
|
id="feColorMatrix58" />
|
||||||
|
<feGaussianBlur
|
||||||
|
result="result0"
|
||||||
|
in="fbSourceGraphicAlpha"
|
||||||
|
stdDeviation="1"
|
||||||
|
id="feGaussianBlur58" />
|
||||||
|
<feSpecularLighting
|
||||||
|
specularExponent="35"
|
||||||
|
specularConstant="1.5"
|
||||||
|
surfaceScale="-2"
|
||||||
|
lighting-color="rgb(255,255,255)"
|
||||||
|
result="result1"
|
||||||
|
in="result0"
|
||||||
|
id="feSpecularLighting58">
|
||||||
|
<feDistantLight
|
||||||
|
azimuth="230"
|
||||||
|
elevation="60"
|
||||||
|
id="feDistantLight58" />
|
||||||
|
</feSpecularLighting>
|
||||||
|
<feComposite
|
||||||
|
operator="in"
|
||||||
|
result="result2"
|
||||||
|
in="result1"
|
||||||
|
in2="fbSourceGraphicAlpha"
|
||||||
|
id="feComposite59" />
|
||||||
|
<feComposite
|
||||||
|
k3="1.2"
|
||||||
|
k2="1.1"
|
||||||
|
operator="arithmetic"
|
||||||
|
result="result4"
|
||||||
|
in="fbSourceGraphic"
|
||||||
|
in2="result2"
|
||||||
|
id="feComposite60" />
|
||||||
|
<feGaussianBlur
|
||||||
|
result="result80"
|
||||||
|
in="result4"
|
||||||
|
stdDeviation="0.5"
|
||||||
|
id="feGaussianBlur60" />
|
||||||
|
<feComposite
|
||||||
|
operator="atop"
|
||||||
|
in="result9"
|
||||||
|
in2="result80"
|
||||||
|
result="result91"
|
||||||
|
id="feComposite61" />
|
||||||
|
<feBlend
|
||||||
|
mode="multiply"
|
||||||
|
in2="result91"
|
||||||
|
id="feBlend61" />
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="1"
|
||||||
|
inkscape:cx="213.49999"
|
||||||
|
inkscape:cy="248.99999"
|
||||||
|
inkscape:window-width="1600"
|
||||||
|
inkscape:window-height="849"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg7" />
|
||||||
|
<circle
|
||||||
|
style="fill:url(#linearGradient22);fill-opacity:1;stroke:none;stroke-width:8"
|
||||||
|
id="path21"
|
||||||
|
cx="256"
|
||||||
|
cy="256"
|
||||||
|
r="256" />
|
||||||
|
<path
|
||||||
|
id="path8-7"
|
||||||
|
style="display:inline;mix-blend-mode:normal;fill:url(#linearGradient35);fill-opacity:1;fill-rule:nonzero;stroke:#320081;stroke-width:4.067;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
inkscape:label="Circle"
|
||||||
|
d="M 256,2.2792898 A 254.0155,253.71401 0 0 0 150.68475,25.115202 c 19.54414,1.070775 38.74692,5.250294 51.56848,11.647658 14.14361,7.056691 28.63804,19.185961 39.4212,29.347551 h 40.60981 c 1.03847,-0.68139 2.10297,-1.36938 3.1938,-2.05957 5.45602,-15.78533 14.79164,-43.183497 19.49612,-57.0097682 A 254.0155,253.71401 0 0 0 256,2.2792898 Z m 61.57106,7.567234 -18.26098,46.1544672 c 7.79702,-4.13918 16.35655,-7.87447 25.20671,-10.87081 23.1229,-7.828433 43.96931,-10.170904 54.94058,-10.868226 A 254.0155,253.71401 0 0 0 317.57106,9.8465238 Z m 65.39277,26.4001532 c -9.68256,4.806644 -33.05532,16.642034 -55.68217,29.863734 H 424.4677 A 254.0155,253.71401 0 0 0 382.96383,36.246677 Z M 113.90698,45.690231 A 254.0155,253.71401 0 0 0 87.532302,66.110411 H 194.2739 c -1.47402,-0.80231 -2.35141,-1.25949 -2.35141,-1.25949 l 10.4496,-11.83348 -38.40568,7.01234 c 0,1e-5 -12.21537,-4.60266 -40.17313,-12.27223 -3.45336,-0.94731 -6.75329,-1.61824 -9.8863,-2.06732 z m -36.803618,30.18635 a 254.0155,253.71401 0 0 0 -34.88372,43.090929 h 59.976738 c 18.11461,-12.04145 40.14252,-22.882149 62.31266,-24.534159 52.93006,-3.9444 70.16538,1.86342 70.16538,1.86342 0,0 -4.612,-4.8206 -14.51938,-13.36656 -2.72366,-2.34942 -6.0844,-4.77373 -9.52455,-7.05363 z m 174.472868,0 c 4.57322,4.7186 7.29716,7.83565 7.29716,7.83565 0,0 3.53501,-3.18484 9.62532,-7.83565 z m 60.27649,0 c -21.56573,15.45339 -25.4703,27.979669 -25.4703,27.979669 0,0 54.83326,-19.215729 100.70543,-0.31228 11.63986,4.79661 21.58481,10.13159 29.94832,15.42354 h 52.74419 A 254.0155,253.71401 0 0 0 434.89664,75.876581 Z M 36.250648,128.73367 A 254.0155,253.71401 0 0 0 16.372095,171.82459 H 147.45478 c 1.45695,-2.5815 3.06539,-5.08648 4.83979,-7.48982 14.23694,-19.28301 27.92088,-30.0088 36.86047,-35.6011 h -30.25323 c -5.87346,0.93472 -12.04945,1.99094 -18.28166,3.16937 -30.12936,5.69727 -81.157618,22.78945 -81.157618,22.78945 0,0 11.47125,-12.39249 29.11369,-25.95882 z m 265.630492,0 c 33.48676,11.2434 52.42799,26.78443 62.7752,43.09092 h 130.97157 a 254.0155,253.71401 0 0 0 -19.87856,-43.09092 h -44.81136 c 14.85233,11.5863 21.59948,20.9854 21.59948,20.9854 0,0 -33.5226,-12.37087 -66.0646,-20.9854 z m -45.96641,16.27007 c -1.00419,0.0106 -10.12705,0.72026 -44.98966,20.64729 -3.12132,1.78406 -6.25434,3.86182 -9.37468,6.17356 h 41.81911 c 7.17181,-17.34774 12.64083,-26.82085 12.64083,-26.82085 0,0 -0.0287,-7.1e-4 -0.0957,0 z m 14.18088,0.0465 c 0,0 -3.31228,9.32762 -7.30492,26.77438 h 51.78554 C 287.6577,146.14158 270.09561,145.0502 270.09561,145.0502 Z M 13.152456,181.59075 A 254.0155,253.71401 0 0 0 3.927651,224.68167 H 134.1447 c 0.56161,-12.72411 2.67825,-28.50188 8.61499,-43.09092 z m 176.661504,0 c -14.27121,13.10564 -27.60733,29.58761 -37.56073,43.09092 h 73.3721 c 4.47018,-16.79061 9.35068,-31.26371 13.86562,-43.09092 z m 70.85787,0 c -2.41384,11.76417 -4.9032,26.20707 -6.94831,43.09092 H 360.4832 c -8.32133,-10.88917 -20.66988,-26.17008 -36.35141,-43.09092 z m 109.17313,0 c 6.63611,15.24089 6.92441,30.5373 5.57882,43.09092 h 132.64857 a 254.0155,253.71401 0 0 0 -9.22481,-43.09092 z M 2.90181,234.44783 A 254.0155,253.71401 0 0 0 1.984498,255.9933 254.0155,253.71401 0 0 0 2.90181,277.53876 h 211.89923 c 2.25762,-15.52555 5.14325,-29.93448 8.3385,-43.09093 h -77.8863 c -6.46396,9.27617 -10.33076,15.56549 -10.33076,15.56549 0,0 -0.82623,-6.14945 -0.9354,-15.56549 z m 249.72093,0 c -1.3692,13.09684 -2.4456,27.49209 -3.02068,43.09093 h 259.49613 a 254.0155,253.71401 0 0 0 0.91731,-21.54546 254.0155,253.71401 0 0 0 -0.91731,-21.54547 H 374.02584 c -0.445,2.5469 -0.90878,4.89768 -1.32817,7.01751 0,0 -1.69726,-2.53821 -4.94056,-7.01751 z M 3.927651,287.30493 a 254.0155,253.71401 0 0 0 9.224805,43.09091 H 214.04393 c -1.29238,-15.40742 -1.57503,-30.04388 -0.41861,-43.09091 z m 245.385009,0 c -0.30355,13.54349 -0.22032,27.92598 0.36951,43.09091 h 249.16537 a 254.0155,253.71401 0 0 0 9.22481,-43.09091 z M 16.369511,340.16201 a 254.0155,253.71401 0 0 0 19.878554,43.09091 H 221.4677 c -2.69781,-14.4523 -4.96108,-29.01285 -6.4832,-43.09091 z m 233.842379,0 c 1.15864,15.47765 3.81286,29.83979 7.51679,43.09091 h 218.02325 a 254.0155,253.71401 0 0 0 19.87856,-43.09091 z M 42.217052,393.01909 a 254.0155,253.71401 0 0 0 34.88372,43.09093 H 233.09561 c -3.40902,-13.67281 -6.76794,-28.2531 -9.73902,-43.09093 z m 218.490958,0 c 5.34985,16.15926 12.22007,30.51982 19.68733,43.09093 h 154.50389 a 254.0155,253.71401 0 0 0 34.88371,-43.09093 z M 87.529722,445.87618 a 254.0155,253.71401 0 0 0 166.229968,63.8208 c -3.67805,-12.0825 -10.85464,-35.49828 -18.18088,-63.8208 z m 199.010328,0 c 17.5887,26.43772 36.99259,43.60598 47.33592,51.61309 a 254.0155,253.71401 0 0 0 90.59431,-51.61309 z" />
|
||||||
|
<path
|
||||||
|
id="path27"
|
||||||
|
style="display:inline;mix-blend-mode:multiply;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
d="m 318.98012,441.7375 c -9.87518,-6.73978 -64.39137,-49.0272 -67.68975,-127.81978 -3.69298,-88.21893 15.36468,-141.91029 15.36468,-141.91029 0,0 16.00378,0.99513 39.80316,26.53195 23.79939,25.53753 37.74965,46.43102 37.74965,46.43102 3.91262,-19.79992 12.84563,-66.32402 -60.72865,-87.55523 0,0 12.82326,-5.38883 39.3925,-3.81382 26.56907,1.57572 81.6822,21.93799 81.6822,21.93799 0,0 -14.79766,-20.63773 -49.47063,-34.94295 -34.67291,-14.30533 -76.1182,0.23644 -76.1182,0.23644 0,0 3.86959,-12.43127 27.22669,-26.38478 23.35718,-13.9537 49.27409,-26.501533 49.27409,-26.501533 0,0 -21.97854,-0.26548 -47.67725,8.44535 -6.68948,2.267506 -13.15863,5.094213 -19.05208,8.226563 l 16.05803,-40.634103 -4.4617,-1.89059 -5.1305,-0.95965 c 0,0 -11.24072,33.12428 -16.92051,49.576513 -12.13137,7.68489 -20.11005,14.87735 -20.11005,14.87735 0,0 -21.90573,-25.09227 -42.79668,-35.527803 -26.03412,-13.00525 -86.88249,-13.90359 -94.0044,10.401173 0,0 13.56804,-7.884703 34.70032,-2.080917 21.13214,5.803997 30.3644,9.287307 30.3644,9.287307 l 29.02989,-5.30681 -7.89811,8.95527 c 0,0 13.8496,7.21324 21.33822,13.68063 7.48859,6.46722 10.9757,10.11472 10.9757,10.11472 0,0 -13.02739,-4.39388 -53.03507,-1.40893 -40.00771,2.98473 -79.40016,45.60209 -79.40016,45.60209 0,0 38.57037,-12.93531 61.34393,-17.24677 22.77354,-4.31126 44.52166,-6.46757 44.52166,-6.46757 0,0 -17.23298,5.97003 -35.69792,31.00932 -18.46522,25.03987 -13.13146,64.83866 -13.13146,64.83866 0,0 29.33874,-47.7577 57.44675,-63.84249 28.10798,-16.08527 34.0799,-15.6238 34.0799,-15.6238 0,0 -22.56785,39.13486 -31.39017,101.98268 -8.03005,57.2039 26.77689,163.75449 31.1572,178.89699"
|
||||||
|
sodipodi:nodetypes="cscsccscscscsccccccscscccscscscscscsc"
|
||||||
|
inkscape:label="MainOutline"
|
||||||
|
clip-path="url(#clipPath128)"
|
||||||
|
transform="matrix(1.3229974,0,0,1.3214002,-82.687282,-82.278451)" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 14 KiB |
1
dist/icon_variations/1an_bgcolor
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
#ffd700
|
||||||
225
dist/icon_variations/2025_named.svg
vendored
|
Before Width: | Height: | Size: 21 KiB |
2
dist/icon_variations/README.md
vendored
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
These icons are licensed under GPLv3. Please see the [script for generating icons](../../tools/README.md) and appropriatedly redirect for seasonal icons.
|
These icons are licensed under GPLv3. Please see the [script for generating icons](../../tools/README.md) and appropriatedly redirect for seasonal icons.
|
||||||
|
|
||||||
- `base_named.svg` - Named variant.
|
- `base_named.svg` - Named variant (deprecated).
|
||||||
- `base_small.svg`: Variant used for tiny icons (16x16, 64x64, etc).
|
- `base_small.svg`: Variant used for tiny icons (16x16, 64x64, etc).
|
||||||
- `base.svg`: Variant without branding/naming.
|
- `base.svg`: Variant without branding/naming.
|
||||||
|
|
||||||
|
|
|
||||||
89
dist/icon_variations/aprilfools2026.svg
vendored
Normal file
|
After Width: | Height: | Size: 19 KiB |
1
dist/icon_variations/aprilfools2026_bgcolor
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
#43fcfcff
|
||||||
337
dist/icon_variations/base_named.svg
vendored
|
Before Width: | Height: | Size: 42 KiB |
110
dist/icon_variations/halloween2025_named.svg
vendored
|
Before Width: | Height: | Size: 39 KiB |
684
dist/icon_variations/newyear2025_named.svg
vendored
|
Before Width: | Height: | Size: 33 KiB |
81
dist/icon_variations/original_named.svg
vendored
|
Before Width: | Height: | Size: 37 KiB |
196
dist/icon_variations/saintpatrick2026.svg
vendored
Normal file
|
|
@ -0,0 +1,196 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="512"
|
||||||
|
height="512"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg7"
|
||||||
|
sodipodi:docname="saintpatrick2026_named.svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:export-filename="dev.eden_emu.eden.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata
|
||||||
|
id="metadata1">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
|
||||||
|
<dc:creator>
|
||||||
|
<cc:Agent>
|
||||||
|
<dc:title>Madeline_Dev</dc:title>
|
||||||
|
<dc:identifier>mailto:madelvidel@gmail.com</dc:identifier>
|
||||||
|
</cc:Agent>
|
||||||
|
</dc:creator>
|
||||||
|
<dc:date>2025</dc:date>
|
||||||
|
<dc:license
|
||||||
|
rdf:resource="https://www.gnu.org/licenses/gpl-3.0.html" />
|
||||||
|
<dc:rights>2025 Eden Emulator Project</dc:rights>
|
||||||
|
<dc:source>https://git.eden-emu.dev</dc:source>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs7"><linearGradient
|
||||||
|
id="swatch14"
|
||||||
|
inkscape:swatch="solid"><stop
|
||||||
|
style="stop-color:#66003b;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop14" /></linearGradient><linearGradient
|
||||||
|
id="linearGradient11"
|
||||||
|
inkscape:collect="always"><stop
|
||||||
|
style="stop-color:#f6d512;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop11" /><stop
|
||||||
|
style="stop-color:#1d8e53;stop-opacity:1;"
|
||||||
|
offset="0.99898213"
|
||||||
|
id="stop20" /><stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0;"
|
||||||
|
offset="0.99898213"
|
||||||
|
id="stop12" /></linearGradient><linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient11"
|
||||||
|
id="linearGradient12"
|
||||||
|
x1="109.74531"
|
||||||
|
y1="106.54533"
|
||||||
|
x2="431.05463"
|
||||||
|
y2="427.85461"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
spreadMethod="reflect"
|
||||||
|
gradientTransform="matrix(1.0945321,0,0,1.0945321,-39.661525,-35.159057)" /><filter
|
||||||
|
inkscape:label="Light Contour"
|
||||||
|
inkscape:menu="Image Paint and Draw"
|
||||||
|
inkscape:menu-tooltip="Uses vertical specular light to draw lines"
|
||||||
|
style="color-interpolation-filters:sRGB"
|
||||||
|
id="filter11"
|
||||||
|
x="-0.01907517"
|
||||||
|
y="-0.054959154"
|
||||||
|
width="1.0379885"
|
||||||
|
height="1.1092314"><feGaussianBlur
|
||||||
|
in="SourceGraphic"
|
||||||
|
stdDeviation="0.38250006"
|
||||||
|
result="result3"
|
||||||
|
id="feGaussianBlur9" /><feComponentTransfer
|
||||||
|
result="result1"
|
||||||
|
in="result3"
|
||||||
|
id="feComponentTransfer9"><feFuncR
|
||||||
|
type="discrete"
|
||||||
|
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
|
||||||
|
id="feFuncR9" /><feFuncG
|
||||||
|
type="discrete"
|
||||||
|
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
|
||||||
|
id="feFuncG9" /><feFuncB
|
||||||
|
type="discrete"
|
||||||
|
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
|
||||||
|
id="feFuncB9" /></feComponentTransfer><feGaussianBlur
|
||||||
|
result="result5"
|
||||||
|
stdDeviation="0.01"
|
||||||
|
id="feGaussianBlur10" /><feBlend
|
||||||
|
in2="result5"
|
||||||
|
result="result6"
|
||||||
|
mode="lighten"
|
||||||
|
in="result5"
|
||||||
|
id="feBlend10" /><feColorMatrix
|
||||||
|
in="result6"
|
||||||
|
type="luminanceToAlpha"
|
||||||
|
result="result2"
|
||||||
|
id="feColorMatrix10" /><feSpecularLighting
|
||||||
|
surfaceScale="5"
|
||||||
|
result="result9"
|
||||||
|
specularExponent="20"
|
||||||
|
in="result2"
|
||||||
|
specularConstant="1"
|
||||||
|
id="feSpecularLighting10"><feDistantLight
|
||||||
|
azimuth="180"
|
||||||
|
elevation="90"
|
||||||
|
id="feDistantLight10" /></feSpecularLighting><feComposite
|
||||||
|
in2="result6"
|
||||||
|
operator="arithmetic"
|
||||||
|
in="result9"
|
||||||
|
k1="0.4"
|
||||||
|
k3="0.7"
|
||||||
|
result="result3"
|
||||||
|
id="feComposite10"
|
||||||
|
k2="0"
|
||||||
|
k4="0" /><feBlend
|
||||||
|
in2="result1"
|
||||||
|
in="result3"
|
||||||
|
mode="normal"
|
||||||
|
result="result8"
|
||||||
|
id="feBlend11" /><feComposite
|
||||||
|
in2="SourceGraphic"
|
||||||
|
in="result8"
|
||||||
|
operator="in"
|
||||||
|
result="result7"
|
||||||
|
id="feComposite11" /></filter></defs><sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="0.6363961"
|
||||||
|
inkscape:cx="172.06265"
|
||||||
|
inkscape:cy="122.56518"
|
||||||
|
inkscape:window-width="1600"
|
||||||
|
inkscape:window-height="849"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg7"
|
||||||
|
showguides="false" /><circle
|
||||||
|
style="fill:url(#linearGradient12);fill-opacity:1;stroke:#e4e4e4;stroke-width:14.0448;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
id="path8"
|
||||||
|
cx="256.2999"
|
||||||
|
cy="257.2999"
|
||||||
|
r="248.67769" /><path
|
||||||
|
id="path15"
|
||||||
|
style="fill:#f3ffeb;fill-opacity:1;stroke:#ffffff;stroke-width:16.9642;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.33910036;paint-order:stroke fill markers"
|
||||||
|
d="m 306.72111,24.233031 c 0,0 -11.98397,40.08696 -18.0546,60.431848 -12.96613,9.503601 -21.49377,18.397701 -21.49377,18.397701 0,0 -23.41313,-31.029398 -45.74145,-43.934598 -22.32833,-12.905201 -52.42065,-11.242483 -52.42065,-11.242483 0,0 -12.50052,4e-4 -27.63117,5.537132 -15.13066,5.536732 -21.27107,9.227888 -21.27107,9.227888 0,0 15.35165,-0.410529 37.93799,6.766716 22.58635,7.177243 32.45374,11.484796 32.45374,11.484796 l 31.02752,-6.562453 -8.44161,11.074275 c 0,0 14.80259,8.920284 22.80648,16.917787 8.0039,7.9975 11.73088,12.50812 11.73088,12.50812 0,0 -13.92373,-5.43341 -56.68427,-1.74226 -42.76055,3.69116 -84.86368,56.39265 -84.86368,56.39265 0,0 41.22428,-15.9958 65.5649,-21.32747 24.34062,-5.33166 47.58524,-7.9983 47.58524,-7.9983 0,0 -18.41865,7.3827 -38.15428,38.3474 -19.73564,30.96468 -14.0351,80.18128 -14.0351,80.18128 0,0 31.35774,-59.05848 61.39977,-78.94969 30.04203,-19.89124 36.182,-20.50642 36.182,-20.50642 0,0 -24.1209,48.39514 -33.55015,126.11445 -9.42924,77.71931 30.26089,207.72959 30.26089,207.72959 l 47.80367,-6.97298 c 0,0 -45.61041,-42.24281 -49.55753,-151.33695 -3.94713,-109.09413 16.66479,-174.30453 16.66479,-174.30453 0,0 17.10508,1.23039 42.54213,32.81027 25.43704,31.57987 40.34713,57.41795 40.34713,57.41795 0,0 9.65024,-51.26683 -11.4011,-74.64415 -21.05135,-23.3773 -53.50637,-33.62931 -53.50637,-33.62931 0,0 13.70573,-6.66419 42.10313,-4.71609 28.39738,1.94813 87.30278,27.12897 87.30278,27.12896 0,0 -15.8158,-25.5214 -52.87463,-43.21167 -37.05881,-17.69028 -81.35597,0.29238 -81.35597,0.29238 0,0 4.13589,-15.37277 29.10021,-32.628037 24.96432,-17.25527 56.907,-34.36427 56.907,-34.36427 0,0 -26.3595,1.160335 -55.20025,12.035504 -7.176,2.7059 -14.064,6.299542 -20.36309,10.173104 l 17.40574,-51.051762 z" /><path
|
||||||
|
d="m 364.02341,369.59545 c -1.05628,0.0923 -4.67136,0.65996 -7.06652,1.09993 -1.73317,0.31934 -2.17946,0.41869 -2.99769,0.68125 -0.51326,0.15613 -0.62485,0.17032 -0.91495,0.0993 -0.43144,-0.10644 -2.3208,-0.2058 -4.86474,-0.26256 -4.47793,-0.10645 -6.76898,0.3761 -9.18647,1.91601 -1.68109,1.07865 -2.9754,2.40567 -4.18788,4.3075 -0.72897,1.14251 -0.92234,2.15729 -0.77357,4.17266 0.11901,1.59667 0.37935,2.58307 1.19757,4.54877 1.61417,3.84622 3.75641,6.6209 9.60302,12.41863 4.25482,4.22943 5.65324,5.72676 5.65324,6.07449 0,0.15612 -0.0298,0.17031 -0.40911,0.17031 -0.52812,0 -0.77362,-0.0993 -1.69599,-0.69545 -1.0711,-0.68834 -2.31333,-1.61087 -4.66389,-3.46302 -3.42913,-2.69661 -3.92749,-3.07982 -5.19948,-4.02364 -2.0307,-1.49024 -3.6374,-2.49082 -4.74571,-2.95209 -1.8968,-0.78769 -5.02097,-1.24895 -7.31945,-1.07864 -2.68526,0.20579 -4.72343,0.85866 -6.76156,2.16438 -1.98605,1.28445 -5.15484,4.17977 -5.58628,5.11648 -0.29009,0.62448 -0.46118,1.93022 -0.59505,4.4991 -0.11158,2.05794 -0.0373,3.37077 0.29011,5.40033 l 0.20083,1.24187 -0.45376,1.59667 c -0.70663,2.45535 -0.95956,4.18686 -1.04882,6.95444 -0.0819,2.76759 0.19338,4.45651 0.94467,5.90417 0.97445,1.85925 3.83081,4.98875 5.91358,6.46479 1.23478,0.87994 2.98284,1.48315 5.09534,1.7599 1.10831,0.14903 3.4663,0.12773 4.23992,-0.0355 1.02649,-0.21289 2.61833,-0.73092 3.39936,-1.10704 1.47284,-0.70253 3.91264,-2.36308 6.97727,-4.75455 4.66392,-3.63334 6.5235,-5.01713 7.28968,-5.40744 0.3868,-0.20579 0.51327,-0.23417 1.00417,-0.23417 0.49094,0 0.60253,0.0284 0.94471,0.21289 l 0.37936,0.21999 -1.78522,1.76698 c -8.50216,8.44468 -9.78157,9.89943 -11.44034,13.02184 -1.42817,2.69662 -2.41749,5.54225 -2.78942,8.01888 -0.23059,1.5825 -0.0892,4.59135 0.29753,6.03192 0.28267,1.06444 0.78846,2.24244 1.24966,2.87403 0.6546,0.90832 1.65877,2.09341 1.76292,2.09341 0.2901,0 1.77778,-1.12122 2.11996,-1.59668 0.14134,-0.1916 0.31243,-0.49673 0.37936,-0.67415 0.17852,-0.47546 0.20827,-1.52571 0.0744,-2.79596 -0.15619,-1.46186 -0.15619,-3.64754 -0.007,-4.48491 0.14877,-0.81607 0.60996,-2.44825 1.03396,-3.61204 0.78105,-2.18569 1.71829,-3.94559 3.35473,-6.31577 1.65877,-2.39857 4.64161,-6.0319 6.28548,-7.65697 0.66203,-0.65287 2.0456,-1.73151 2.12743,-1.66056 0.0297,0.0355 -0.61742,1.5683 -1.2199,2.85984 -0.41659,0.90123 -1.32407,2.62566 -2.13486,4.04493 -1.4505,2.54049 -1.98605,3.66882 -2.16458,4.55586 -0.29009,1.45476 -0.43143,3.34239 -0.43143,5.76934 0,2.12891 0.0147,2.48374 0.16362,3.40625 0.19341,1.15672 0.54301,2.77469 0.76619,3.49851 0.51322,1.67475 1.71084,3.49141 3.25803,4.94616 1.56209,1.47606 2.98283,2.16441 5.43008,2.63985 0.83307,0.15613 1.04881,0.16322 3.46631,0.0993 2.26129,-0.0639 2.98283,-0.23417 6.02513,-1.39088 1.74807,-0.66706 2.57372,-0.94382 3.64486,-1.22767 2.96051,-0.7806 5.22924,-0.9864 6.96983,-0.63158 0.78848,0.16322 0.7959,0.16322 1.07858,0.0284 0.15619,-0.0781 0.81822,-0.30515 1.46536,-0.50385 0.6546,-0.1987 1.4505,-0.49674 1.77778,-0.66705 2.14971,-1.09285 6.40453,-4.93907 7.26737,-6.57833 0.66945,-1.27735 1.17528,-3.87462 1.09345,-5.64871 -0.10415,-2.18568 -0.78103,-4.1017 -2.3059,-6.52156 -0.95956,-1.53281 -1.7555,-2.44825 -3.76387,-4.36426 -1.78521,-1.70313 -3.14646,-2.85984 -6.8136,-5.81901 -4.55235,-3.66173 -6.17394,-5.06681 -6.12187,-5.30809 0.0151,-0.071 0.0819,-0.11354 0.17109,-0.0993 0.27521,0.0497 1.85962,1.06446 6.00286,3.85334 4.28453,2.88111 6.06231,3.92428 7.81781,4.60554 3.94235,1.51151 8.04839,2.29922 11.44773,2.17857 1.95634,-0.0639 3.31758,-0.36901 4.85734,-1.08575 0.88516,-0.41157 2.40259,-1.3625 3.49606,-2.19986 1.07115,-0.81608 3.03487,-2.68952 3.51838,-3.34949 0.97443,-1.3412 1.65877,-3.95977 1.55462,-5.94674 -0.0595,-1.08575 -0.25287,-1.90184 -0.93723,-4.04494 -0.69179,-2.16438 -1.15298,-3.77526 -1.28684,-4.4636 -0.15624,-0.82319 -0.11901,-3.30691 0.0819,-4.8965 0.20827,-1.66764 0.28263,-4.11589 0.16362,-5.10938 -0.18594,-1.52571 -0.6397,-3.1153 -1.23476,-4.34298 -0.99674,-2.05794 -3.33244,-4.20814 -5.7276,-5.27968 -1.41332,-0.62449 -3.4961,-1.09994 -5.89127,-1.34831 -1.24965,-0.12065 -3.91264,-0.0497 -5.04324,0.14192 -1.815,0.30515 -4.71601,1.09994 -5.31849,1.44766 -0.80337,0.46836 -2.80432,2.24955 -7.21533,6.39382 -1.77778,1.67474 -3.8531,3.60496 -4.61181,4.28621 -1.24966,1.12832 -2.1051,1.79538 -2.19437,1.71022 -0.0967,-0.0993 1.34635,-2.19987 4.90939,-7.16023 4.95399,-6.89057 5.67552,-8.06147 6.44171,-10.41036 1.12318,-3.47012 0.052,-8.16082 -2.67041,-11.73029 -0.8852,-1.15671 -2.05303,-2.05085 -3.73412,-2.86694 -1.43561,-0.69544 -2.86379,-1.12122 -4.53745,-1.3554 -0.75872,-0.10644 -4.11344,-0.1987 -4.83498,-0.13482 z"
|
||||||
|
id="path1"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00726536" /><path
|
||||||
|
d="m 83.20673,250.24331 c -1.05628,0.0923 -4.67136,0.65996 -7.06652,1.09993 -1.73317,0.31934 -2.17946,0.41869 -2.99769,0.68125 -0.51326,0.15613 -0.62485,0.17032 -0.91495,0.0993 -0.43144,-0.10644 -2.3208,-0.2058 -4.86474,-0.26256 -4.47793,-0.10645 -6.76898,0.3761 -9.18647,1.91601 -1.68109,1.07865 -2.9754,2.40567 -4.18788,4.3075 -0.72897,1.14251 -0.92234,2.15729 -0.77357,4.17266 0.11901,1.59667 0.37935,2.58307 1.19757,4.54877 1.61417,3.84622 3.75641,6.6209 9.60302,12.41863 4.25482,4.22943 5.65324,5.72676 5.65324,6.07449 0,0.15612 -0.0298,0.17031 -0.40911,0.17031 -0.52812,0 -0.77362,-0.0993 -1.69599,-0.69545 -1.0711,-0.68834 -2.31333,-1.61087 -4.66389,-3.46302 -3.42913,-2.69661 -3.92749,-3.07982 -5.19948,-4.02364 -2.0307,-1.49024 -3.6374,-2.49082 -4.74571,-2.95209 -1.8968,-0.78769 -5.02097,-1.24895 -7.31945,-1.07864 -2.68526,0.20579 -4.72343,0.85866 -6.76156,2.16438 -1.98605,1.28445 -5.15484,4.17977 -5.58628,5.11648 -0.29009,0.62448 -0.46118,1.93022 -0.59505,4.4991 -0.11158,2.05794 -0.0373,3.37077 0.29011,5.40033 l 0.20083,1.24187 -0.45376,1.59667 c -0.70663,2.45535 -0.95956,4.18686 -1.04882,6.95444 -0.0819,2.76759 0.19338,4.45651 0.94467,5.90417 0.97445,1.85925 3.83081,4.98875 5.91358,6.46479 1.23478,0.87994 2.98284,1.48315 5.09534,1.7599 1.10831,0.14903 3.4663,0.12773 4.23992,-0.0355 1.02649,-0.21289 2.61833,-0.73092 3.39936,-1.10704 1.47284,-0.70253 3.91264,-2.36308 6.97727,-4.75455 4.66392,-3.63334 6.5235,-5.01713 7.28968,-5.40744 0.3868,-0.20579 0.51327,-0.23417 1.00417,-0.23417 0.49094,0 0.60253,0.0284 0.94471,0.21289 l 0.37936,0.21999 -1.78522,1.76698 c -8.50216,8.44468 -9.78157,9.89943 -11.44034,13.02184 -1.42817,2.69662 -2.41749,5.54225 -2.78942,8.01888 -0.23059,1.5825 -0.0892,4.59135 0.29753,6.03192 0.28267,1.06444 0.78846,2.24244 1.24966,2.87403 0.6546,0.90832 1.65877,2.09341 1.76292,2.09341 0.2901,0 1.77778,-1.12122 2.11996,-1.59668 0.14134,-0.1916 0.31243,-0.49673 0.37936,-0.67415 0.17852,-0.47546 0.20827,-1.52571 0.0744,-2.79596 -0.15619,-1.46186 -0.15619,-3.64754 -0.007,-4.48491 0.14877,-0.81607 0.60996,-2.44825 1.03396,-3.61204 0.78105,-2.18569 1.71829,-3.94559 3.35473,-6.31577 1.65877,-2.39857 4.64161,-6.0319 6.28548,-7.65697 0.66203,-0.65287 2.0456,-1.73151 2.12743,-1.66056 0.0297,0.0355 -0.61742,1.5683 -1.2199,2.85984 -0.41659,0.90123 -1.32407,2.62566 -2.13486,4.04493 -1.4505,2.54049 -1.98605,3.66882 -2.16458,4.55586 -0.29009,1.45476 -0.43143,3.34239 -0.43143,5.76934 0,2.12891 0.0147,2.48374 0.16362,3.40625 0.19341,1.15672 0.54301,2.77469 0.76619,3.49851 0.51322,1.67475 1.71084,3.49141 3.25803,4.94616 1.56209,1.47606 2.98283,2.16441 5.43008,2.63985 0.83307,0.15613 1.04881,0.16322 3.46631,0.0993 2.26129,-0.0639 2.98283,-0.23417 6.02513,-1.39088 1.74807,-0.66706 2.57372,-0.94382 3.64486,-1.22767 2.96051,-0.7806 5.22924,-0.9864 6.96983,-0.63158 0.78848,0.16322 0.7959,0.16322 1.07858,0.0284 0.15619,-0.0781 0.81822,-0.30515 1.46536,-0.50385 0.6546,-0.1987 1.4505,-0.49674 1.77778,-0.66705 2.14971,-1.09285 6.40453,-4.93907 7.26737,-6.57833 0.66945,-1.27735 1.17528,-3.87462 1.09345,-5.64871 -0.10415,-2.18568 -0.78103,-4.1017 -2.3059,-6.52156 -0.95956,-1.53281 -1.7555,-2.44825 -3.76387,-4.36426 -1.78521,-1.70313 -3.14646,-2.85984 -6.8136,-5.81901 -4.55235,-3.66173 -6.17394,-5.06681 -6.12187,-5.30809 0.0151,-0.071 0.0819,-0.11354 0.17109,-0.0993 0.27521,0.0497 1.85962,1.06446 6.00286,3.85334 4.28453,2.88111 6.06231,3.92428 7.81781,4.60554 3.94235,1.51151 8.04839,2.29922 11.44773,2.17857 1.95634,-0.0639 3.31758,-0.36901 4.85734,-1.08575 0.88516,-0.41157 2.40259,-1.3625 3.49606,-2.19986 1.07115,-0.81608 3.03487,-2.68952 3.51838,-3.34949 0.97443,-1.3412 1.65877,-3.95977 1.55462,-5.94674 -0.0595,-1.08575 -0.25287,-1.90184 -0.93723,-4.04494 -0.69179,-2.16438 -1.15298,-3.77526 -1.28684,-4.4636 -0.15624,-0.82319 -0.11901,-3.30691 0.0819,-4.8965 0.20827,-1.66764 0.28263,-4.11589 0.16362,-5.10938 -0.18594,-1.52571 -0.6397,-3.1153 -1.23476,-4.34298 -0.99674,-2.05794 -3.33244,-4.20814 -5.7276,-5.27968 -1.41332,-0.62449 -3.4961,-1.09994 -5.89127,-1.34831 -1.24965,-0.12065 -3.91264,-0.0497 -5.04324,0.14192 -1.815,0.30515 -4.71601,1.09994 -5.31849,1.44766 -0.80337,0.46836 -2.80432,2.24955 -7.21533,6.39382 -1.77778,1.67474 -3.8531,3.60496 -4.61181,4.28621 -1.24966,1.12832 -2.1051,1.79538 -2.19437,1.71022 -0.0967,-0.0993 1.34635,-2.19987 4.90939,-7.16023 4.95399,-6.89057 5.67552,-8.06147 6.44171,-10.41036 1.12318,-3.47012 0.052,-8.16082 -2.67041,-11.73029 -0.8852,-1.15671 -2.05303,-2.05085 -3.73412,-2.86694 -1.43561,-0.69544 -2.86379,-1.12122 -4.53745,-1.3554 -0.75872,-0.10644 -4.11344,-0.1987 -4.83498,-0.13482 z"
|
||||||
|
id="path1-9"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00726536" /><path
|
||||||
|
d="m 439.21947,248.58317 c -1.32752,0.12081 -5.87092,0.86387 -8.88113,1.43979 -2.17823,0.41802 -2.73912,0.54806 -3.76747,0.89175 -0.64506,0.20437 -0.7853,0.22295 -1.1499,0.12998 -0.54223,-0.13933 -2.91676,-0.26938 -6.11395,-0.34369 -5.62782,-0.13934 -8.50719,0.49231 -11.54547,2.50804 -2.11277,1.41194 -3.73945,3.14899 -5.26329,5.63847 -0.91615,1.49553 -1.15918,2.82387 -0.97221,5.46197 0.14957,2.09002 0.47676,3.38121 1.5051,5.9543 2.02866,5.03465 4.72101,8.66669 12.06898,16.25585 5.34741,5.53628 7.10493,7.49627 7.10493,7.95145 0,0.20436 -0.0375,0.22293 -0.51416,0.22293 -0.66374,0 -0.97228,-0.12998 -2.13151,-0.91034 -1.34614,-0.90103 -2.90737,-2.10861 -5.86153,-4.53305 -4.30969,-3.52984 -4.93603,-4.03145 -6.53465,-5.26691 -2.55217,-1.95071 -4.57145,-3.26045 -5.96436,-3.86425 -2.38388,-1.03107 -6.3103,-1.63487 -9.19901,-1.41193 -3.37482,0.26938 -5.93636,1.12398 -8.49786,2.83315 -2.49604,1.68134 -6.47855,5.47127 -7.02078,6.69742 -0.36459,0.81743 -0.57961,2.52664 -0.74785,5.88927 -0.14024,2.69383 -0.0469,4.4123 0.3646,7.06898 l 0.25241,1.6256 -0.57028,2.09002 c -0.8881,3.21403 -1.20598,5.48056 -1.31815,9.10329 -0.10293,3.62275 0.24303,5.83353 1.18725,7.7285 1.22468,2.43373 4.81452,6.53023 7.43213,8.46235 1.55185,1.15183 3.7488,1.94142 6.40377,2.30368 1.39291,0.19508 4.35641,0.16719 5.32868,-0.0464 1.29009,-0.27867 3.29069,-0.95677 4.27229,-1.44911 1.85104,-0.91959 4.91736,-3.09324 8.76896,-6.22365 5.86156,-4.756 8.19866,-6.56736 9.1616,-7.07828 0.48612,-0.26938 0.64507,-0.30652 1.26203,-0.30652 0.617,0 0.75725,0.0371 1.1873,0.27867 l 0.47677,0.28796 -2.24364,2.31295 c -10.68543,11.05401 -12.29338,12.95826 -14.37811,17.04546 -1.79491,3.52986 -3.03827,7.25475 -3.50571,10.49663 -0.28981,2.07148 -0.11211,6.01003 0.37392,7.89573 0.35526,1.39333 0.99094,2.93533 1.57057,3.76207 0.82269,1.18898 2.08473,2.74025 2.21562,2.74025 0.36459,0 2.2343,-1.46767 2.66435,-2.09004 0.17763,-0.2508 0.39265,-0.65021 0.47676,-0.88245 0.22437,-0.62238 0.26176,-1.99714 0.0935,-3.65989 -0.19629,-1.91355 -0.19629,-4.77458 -0.009,-5.87069 0.18698,-1.06823 0.7666,-3.20474 1.29948,-4.72813 0.98162,-2.86105 2.15954,-5.16473 4.21619,-8.26728 2.08473,-3.13971 5.83353,-7.89569 7.89953,-10.02289 0.83203,-0.8546 2.57089,-2.26653 2.67373,-2.17366 0.0373,0.0465 -0.77596,2.05289 -1.53315,3.7435 -0.52357,1.17971 -1.66408,3.43696 -2.68307,5.29478 -1.82298,3.32547 -2.49605,4.80245 -2.72043,5.96357 -0.36458,1.90426 -0.54221,4.37516 -0.54221,7.55201 0,2.78672 0.0185,3.25118 0.20563,4.45874 0.24308,1.51413 0.68245,3.63204 0.96294,4.57952 0.64501,2.19223 2.15017,4.57021 4.09466,6.47447 1.96322,1.93214 3.74879,2.83318 6.82447,3.45554 1.04699,0.20437 1.31814,0.21365 4.35643,0.12998 2.84196,-0.0837 3.74879,-0.30652 7.57232,-1.82065 2.19695,-0.87318 3.23462,-1.23545 4.58082,-1.60701 3.72074,-1.0218 6.57206,-1.29118 8.75961,-0.82673 0.99096,0.21366 1.00028,0.21366 1.35555,0.0371 0.1963,-0.10223 1.02833,-0.39944 1.84165,-0.65953 0.8227,-0.26009 1.82298,-0.65022 2.2343,-0.87316 2.70173,-1.43052 8.04915,-6.46519 9.13355,-8.61097 0.84136,-1.67203 1.47709,-5.07183 1.37424,-7.3941 -0.13089,-2.86103 -0.98159,-5.36908 -2.89803,-8.53665 -1.20597,-2.00643 -2.2063,-3.20474 -4.73039,-5.71278 -2.24364,-2.22938 -3.95444,-3.74349 -8.56327,-7.61702 -5.72135,-4.79316 -7.75934,-6.6324 -7.6939,-6.94823 0.019,-0.093 0.10293,-0.14863 0.21502,-0.12998 0.34588,0.0651 2.33715,1.39336 7.54434,5.04398 5.38475,3.77133 7.61905,5.13684 9.82534,6.02861 4.95471,1.97854 10.11514,3.00965 14.38739,2.85172 2.45871,-0.0837 4.1695,-0.48304 6.10466,-1.42124 1.11246,-0.53874 3.01955,-1.7835 4.39381,-2.87959 1.34621,-1.06825 3.81419,-3.52055 4.42187,-4.38445 1.22465,-1.75562 2.08472,-5.1833 1.95383,-7.78422 -0.0748,-1.42123 -0.31781,-2.48949 -1.17791,-5.29478 -0.86943,-2.83316 -1.44905,-4.94178 -1.61728,-5.84282 -0.19636,-1.07754 -0.14957,-4.3287 0.10293,-6.40946 0.26175,-2.18293 0.35521,-5.38765 0.20563,-6.68813 -0.23368,-1.99714 -0.80396,-4.07789 -1.55183,-5.68491 -1.25269,-2.69382 -4.18818,-5.50842 -7.19839,-6.91105 -1.77624,-0.81744 -4.39386,-1.43981 -7.40409,-1.76492 -1.57055,-0.15793 -4.91736,-0.0651 -6.33829,0.18577 -2.28107,0.39944 -5.92703,1.43981 -6.68423,1.89497 -1.00966,0.61308 -3.52444,2.94464 -9.06815,8.36945 -2.2343,2.19222 -4.84254,4.71885 -5.79608,5.6106 -1.57056,1.47696 -2.64567,2.35014 -2.75786,2.23867 -0.12153,-0.12999 1.69208,-2.87962 6.17007,-9.37268 6.22613,-9.01968 7.13294,-10.55238 8.09588,-13.62705 1.4116,-4.54234 0.0654,-10.68243 -3.35615,-15.35482 -1.11251,-1.51413 -2.58022,-2.68454 -4.693,-3.75281 -1.80426,-0.91031 -3.59918,-1.46765 -5.70262,-1.77419 -0.95355,-0.13933 -5.16973,-0.2601 -6.07655,-0.17649 z"
|
||||||
|
id="path1-1"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00931876" /><path
|
||||||
|
d="m 324.26695,283.12908 c -0.83436,0.0787 -3.6899,0.56207 -5.58184,0.93679 -1.36902,0.27198 -1.72154,0.3566 -2.36787,0.58021 -0.40542,0.13298 -0.49356,0.14506 -0.72272,0.0846 -0.34079,-0.0907 -1.83319,-0.17527 -3.84264,-0.22362 -3.53711,-0.0907 -5.34681,0.32032 -7.25638,1.63185 -1.32789,0.91866 -2.35026,2.04887 -3.308,3.66862 -0.57581,0.97307 -0.72855,1.83734 -0.61104,3.5538 0.094,1.35986 0.29964,2.19996 0.94596,3.87412 1.27502,3.27577 2.96718,5.63893 7.58541,10.57676 3.36087,3.60215 4.46548,4.87741 4.46548,5.17356 0,0.13297 -0.0236,0.14505 -0.32315,0.14505 -0.41716,0 -0.61108,-0.0846 -1.33966,-0.59231 -0.84606,-0.58625 -1.8273,-1.37195 -3.684,-2.9494 -2.70866,-2.29666 -3.10232,-2.62303 -4.10706,-3.42687 -1.60405,-1.26922 -2.87318,-2.12139 -3.74863,-2.51425 -1.49828,-0.67086 -3.96605,-1.06372 -5.78162,-0.91867 -2.12109,0.17527 -3.73103,0.73132 -5.34094,1.84337 -1.56877,1.09396 -4.0718,3.55984 -4.41259,4.35764 -0.22915,0.53185 -0.36429,1.64394 -0.47003,3.83181 -0.0881,1.75272 -0.0295,2.87083 0.22915,4.59939 l 0.15864,1.05768 -0.35842,1.35985 c -0.55818,2.0912 -0.75797,3.56589 -0.82846,5.923 -0.0647,2.35711 0.15274,3.79555 0.74619,5.0285 0.76971,1.58348 3.02595,4.24885 4.67113,5.50597 0.97534,0.74943 2.35613,1.26316 4.02479,1.49887 0.87545,0.12693 2.73803,0.10877 3.3491,-0.0302 0.81083,-0.1813 2.06822,-0.62251 2.68516,-0.94285 1.16338,-0.59832 3.09058,-2.01259 5.51133,-4.04938 3.68402,-3.09445 5.15289,-4.273 5.75811,-4.60543 0.30552,-0.17527 0.40543,-0.19943 0.79319,-0.19943 0.38779,0 0.47593,0.0241 0.74622,0.18132 l 0.29965,0.18735 -1.41013,1.5049 c -6.71585,7.19222 -7.72645,8.43121 -9.03671,11.09052 -1.12811,2.29668 -1.90957,4.72026 -2.20336,6.82956 -0.18214,1.34779 -0.0705,3.91039 0.23501,5.1373 0.22329,0.90657 0.62281,1.90985 0.98711,2.44777 0.51707,0.7736 1.31027,1.78292 1.39253,1.78292 0.22915,0 1.40427,-0.95492 1.67456,-1.35986 0.11164,-0.16318 0.24678,-0.42306 0.29964,-0.57417 0.14102,-0.40495 0.16452,-1.29942 0.0588,-2.38128 -0.12337,-1.24503 -0.12337,-3.10655 -0.006,-3.81973 0.11752,-0.69503 0.48181,-2.08513 0.81673,-3.07632 0.61695,-1.86152 1.35728,-3.36039 2.6499,-5.37905 1.31026,-2.04283 3.6664,-5.13728 4.96489,-6.52133 0.52293,-0.55603 1.61581,-1.47469 1.68045,-1.41427 0.0234,0.0302 -0.4877,1.3357 -0.96359,2.43569 -0.32907,0.76756 -1.04589,2.23623 -1.68633,3.44501 -1.14575,2.16368 -1.56877,3.12468 -1.7098,3.88015 -0.22914,1.23899 -0.34078,2.84667 -0.34078,4.91367 0,1.81315 0.0116,2.11536 0.12924,2.90105 0.15278,0.98516 0.42892,2.36316 0.60521,2.97963 0.40539,1.42635 1.35139,2.97357 2.57351,4.21257 1.2339,1.25713 2.35614,1.84339 4.28921,2.24832 0.65804,0.13298 0.82846,0.13901 2.73804,0.0846 1.78619,-0.0544 2.35613,-0.19944 4.75924,-1.18459 1.38079,-0.56813 2.03297,-0.80384 2.87906,-1.0456 2.33851,-0.66482 4.13057,-0.84009 5.50546,-0.5379 0.62282,0.13902 0.62868,0.13902 0.85197,0.0241 0.12337,-0.0665 0.64631,-0.25989 1.15748,-0.42912 0.51708,-0.16923 1.14576,-0.42306 1.40427,-0.56811 1.69805,-0.93077 5.05893,-4.20654 5.74048,-5.60268 0.5288,-1.08789 0.92836,-3.29995 0.86372,-4.81092 -0.0823,-1.8615 -0.61694,-3.49335 -1.82143,-5.55431 -0.75796,-1.30547 -1.38667,-2.08515 -2.97307,-3.71698 -1.41014,-1.45053 -2.48538,-2.43568 -5.38205,-4.95597 -3.5959,-3.11863 -4.87679,-4.31532 -4.83566,-4.52081 0.012,-0.0606 0.0647,-0.0967 0.13515,-0.0846 0.21738,0.0424 1.4689,0.90657 4.74165,3.28183 3.38434,2.45378 4.7886,3.34224 6.17527,3.92248 3.11406,1.28731 6.35741,1.9582 9.04254,1.85544 1.54531,-0.0544 2.62055,-0.31428 3.83681,-0.92471 0.69918,-0.35054 1.8978,-1.16042 2.76153,-1.87359 0.84609,-0.69505 2.39723,-2.29063 2.77916,-2.85272 0.7697,-1.14228 1.31026,-3.37248 1.22799,-5.06474 -0.047,-0.92472 -0.19974,-1.61977 -0.74032,-3.44502 -0.54644,-1.84337 -0.91073,-3.21533 -1.01647,-3.80159 -0.12341,-0.70109 -0.094,-2.81644 0.0647,-4.17027 0.16452,-1.42031 0.22326,-3.50544 0.12924,-4.35159 -0.14687,-1.29942 -0.50529,-2.65325 -0.97533,-3.69885 -0.78732,-1.75271 -2.63229,-3.58402 -4.52422,-4.49663 -1.11637,-0.53186 -2.76156,-0.9368 -4.6535,-1.14832 -0.9871,-0.10275 -3.09059,-0.0424 -3.98365,0.12086 -1.43366,0.2599 -3.72516,0.93681 -4.20107,1.23295 -0.63457,0.3989 -2.21512,1.91592 -5.69937,5.44552 -1.40427,1.42636 -3.04356,3.0703 -3.64286,3.65051 -0.98711,0.96097 -1.66282,1.5291 -1.73333,1.45657 -0.0764,-0.0846 1.06348,-1.8736 3.87792,-6.09827 3.91315,-5.86859 4.48308,-6.86583 5.08829,-8.86635 0.8872,-2.95544 0.0411,-6.95045 -2.10935,-9.9905 -0.69922,-0.98516 -1.62168,-1.74668 -2.94957,-2.44175 -1.13399,-0.59228 -2.26211,-0.95492 -3.58413,-1.15436 -0.59931,-0.0907 -3.2492,-0.16924 -3.81914,-0.11483 z"
|
||||||
|
id="path1-1-7"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00595914" /><path
|
||||||
|
d="m 166.59227,332.97105 c -4.12429,0.42662 -8.02317,1.5205 -12.83475,3.62077 l -1.10432,0.4813 -1.82543,-0.86416 c -4.62007,-2.20966 -8.27101,-3.06288 -12.59815,-2.94255 -2.32129,0.0656 -3.39176,0.21877 -5.27361,0.79853 -6.5131,1.97994 -11.32468,7.43841 -12.77834,14.50492 -1.09306,5.25064 -0.38311,11.54049 1.78042,15.98166 1.83677,3.75203 4.57499,6.79303 12.23748,13.62981 3.52702,3.15038 8.64287,8.10569 10.52472,10.18408 1.88177,2.10025 3.4481,3.98173 3.4481,4.17864 0,0.16407 -0.45069,0.63444 -0.60853,0.63444 -0.0563,0 -0.67604,-0.60163 -1.39724,-1.34547 -15.06588,-15.45661 -24.88064,-22.01991 -35.1236,-23.5076 -0.68745,-0.0985 -2.14102,-0.1422 -4.56374,-0.1422 -3.84253,0.0109 -4.92426,0.10938 -7.944252,0.76572 -8.237179,1.78303 -14.479919,6.60706 -16.485689,12.74376 -0.61971,1.90335 -0.75496,2.78941 -0.74371,5.14126 0,1.88148 0.0453,2.29715 0.31552,3.55512 0.56344,2.60345 1.63392,5.31628 3.15516,7.97443 0.61978,1.08295 0.61978,1.09388 0.43952,1.47674 -1.81426,4.14583 -2.91856,7.76658 -3.42567,11.33266 -0.2141,1.45486 -0.18027,4.80214 0.0563,6.06012 0.66479,3.52231 2.3438,6.26796 5.03694,8.21511 4.10171,2.96443 10.49088,3.83951 17.826601,2.45029 8.69921,-1.65182 21.45505,-7.90882 31.46141,-15.45662 5.4877,-4.14582 10.08527,-8.7292 12.39531,-12.3609 0.41686,-0.65633 0.67604,-0.82042 0.80004,-0.50319 0.15775,0.38286 -2.77206,3.87235 -5.58913,6.66176 -2.36637,2.34091 -4.15805,3.93798 -8.56403,7.61344 -1.82543,1.52051 -3.95521,3.32541 -4.73275,4.00362 -8.38368,7.30718 -11.56135,12.63435 -13.01501,21.81209 -0.29294,1.82677 -0.34927,5.15214 -0.12393,6.67266 0.5747,3.76301 1.84802,6.45398 4.11297,8.65264 1.94944,1.89241 4.19188,3.01914 7.21179,3.6098 1.44233,0.28442 4.48483,0.3938 6.26525,0.21885 3.39176,-0.33911 7.66249,-1.37836 11.1895,-2.73471 0.76629,-0.29538 0.94655,-0.28442 1.52125,0.0656 0.83387,0.51414 2.91849,1.57522 3.85378,1.96901 3.32418,1.40019 5.88215,1.99085 8.95839,2.07841 1.65643,0.044 2.18612,0.0216 3.32418,-0.16408 8.23718,-1.3674 13.97282,-7.91972 15.42647,-17.63342 0.54087,-3.56607 0.49578,-7.97443 -0.11267,-11.09198 -0.10143,-0.56885 0.10142,-0.51415 1.02539,0.27346 6.24274,5.30535 11.43744,9.37459 16.85755,13.18124 5.97223,4.21151 10.27679,6.92431 14.90812,9.38556 1.90434,1.01734 5.08202,2.58159 5.22852,2.58159 0.11268,0 0.18034,-0.12034 0.94655,-1.85964 1.44233,-3.22694 2.23112,-6.18042 2.23112,-8.39004 0,-0.85325 -0.16901,-2.06744 -0.32677,-2.30813 -0.0453,-0.0763 -0.66479,-0.22973 -1.38599,-0.35006 -10.26554,-1.67365 -20.51974,-7.02273 -32.14877,-16.7474 -2.58047,-2.15492 -3.93271,-3.36912 -3.97779,-3.56602 -0.0454,-0.18596 0.10143,-0.12033 1.48749,0.66723 7.15538,4.12403 16.1701,5.75384 22.91995,4.16776 2.71565,-0.63448 5.09327,-1.89241 6.83986,-3.59892 1.84802,-1.8049 2.97491,-3.92703 3.57211,-6.73831 0.28168,-1.3783 0.39443,-4.37555 0.20284,-6.03825 -0.3606,-3.28166 -1.35224,-7.05555 -2.76073,-10.54505 -0.21417,-0.53601 -0.39444,-1.07201 -0.39444,-1.19233 0,-0.13128 0.2141,-0.56883 0.48453,-0.98451 1.96069,-3.10663 3.29042,-6.43204 3.74112,-9.35272 0.1465,-0.95167 0.18033,-1.67364 0.13525,-2.95348 -0.0902,-2.3628 -0.42819,-3.74109 -1.43107,-5.7429 -4.13555,-8.29165 -16.74489,-12.40465 -30.80787,-10.05281 -4.91301,0.82041 -9.9951,3.06289 -15.61798,6.89147 -3.92146,2.66909 -7.29072,5.49131 -12.23748,10.23877 -1.80301,1.73929 -3.31293,3.1504 -3.35801,3.1504 -0.13526,0 0.3606,-0.62352 1.78043,-2.24247 2.20861,-2.505 3.56077,-3.89423 9.25132,-9.46211 5.43136,-5.30534 6.94136,-6.84772 8.50769,-8.69639 4.01155,-4.69276 6.41167,-9.36365 7.53856,-14.65806 1.64517,-7.76658 0.60845,-14.51585 -2.90724,-18.77106 -2.45654,-2.98631 -5.93847,-4.51775 -10.5473,-4.62714 -0.99155,-0.0219 -2.00577,-0.0219 -2.25362,0 z"
|
||||||
|
id="path1-2"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.0111024" /><path
|
||||||
|
d="m 465.56025,185.2456 c -0.9371,0.0986 -1.47259,0.23385 -2.432,0.62118 -1.53059,0.61754 -3.04333,1.57124 -4.03846,2.55052 -0.5444,0.52983 -1.4815,1.67354 -1.80279,2.19242 -0.22312,0.36175 -0.33468,0.90619 -0.51317,2.52859 -0.0937,0.82946 -0.13387,1.2643 -0.33915,3.59921 -0.19634,2.21435 -0.33021,3.3142 -0.41946,3.44212 -0.0714,0.106 -0.22757,-0.82218 -0.67382,-3.97194 -0.63812,-4.51274 -0.80322,-5.28374 -1.38334,-6.39822 -0.8657,-1.65162 -2.88269,-3.02554 -5.42178,-3.69057 -1.27179,-0.33251 -2.30706,-0.33982 -3.6904,-0.0292 -1.20484,0.27404 -2.23118,0.72349 -3.37355,1.49083 -1.02635,0.68697 -1.602,1.19121 -2.93624,2.56148 -1.25394,1.28623 -1.96345,2.07549 -2.22673,2.47378 -0.0893,0.13886 -0.1785,0.21559 -0.30791,0.27041 -0.22311,0.095 -0.3079,0.1498 -1.41011,0.88792 -1.22716,0.82581 -1.75372,1.20583 -2.2535,1.63701 -1.03526,0.89158 -1.57968,1.62238 -1.93221,2.60532 -0.23651,0.65772 -0.29452,1.01947 -0.29452,1.827 0.005,0.98659 0.13834,1.71739 0.40607,2.15224 0.22759,0.37636 1.04867,1.17293 1.61093,1.56756 0.87463,0.6139 2.75329,1.42144 4.13216,1.77955 1.81173,0.46771 3.55652,0.69789 7.45663,0.98655 3.1549,0.23386 4.33744,0.35079 4.65873,0.46043 l 0.15172,0.0512 -0.15172,0.13155 c -0.18742,0.15714 -0.415,0.21559 -1.15576,0.28502 -0.7943,0.0767 -1.86527,0.12425 -3.88226,0.16807 -3.71271,0.0804 -5.30578,0.18272 -6.47045,0.42022 -1.55737,0.31792 -3.56545,1.43604 -4.73013,2.63091 -1.22269,1.26066 -1.6957,2.38609 -1.94114,4.62235 -0.0893,0.78928 -0.0893,1.53834 0,1.77588 0.12049,0.33616 0.78985,1.15466 1.75372,2.14489 0.7006,0.7162 1.2227,1.16564 2.03039,1.73932 l 0.76753,0.54811 0.39714,0.69793 c 0.21866,0.38368 0.49534,0.84041 0.61582,1.01582 0.72737,1.0414 1.95452,2.36051 2.905,3.1242 0.89694,0.71983 1.52168,1.01581 2.67297,1.2643 1.55737,0.3398 3.95367,0.48599 4.9934,0.30326 1.19145,-0.2046 2.68635,-0.91716 3.79749,-1.80509 0.49978,-0.39828 1.01742,-1.00851 1.44134,-1.70644 0.52211,-0.85867 0.9371,-2.26182 1.51721,-5.1741 0.42838,-2.12665 0.69613,-3.29958 0.87016,-3.75634 0.17404,-0.45676 0.43286,-0.66868 0.91033,-0.74178 l 0.16956,-0.0254 -0.0268,0.30694 c -0.0357,0.40192 -0.18741,3.10593 -0.25434,4.52734 -0.058,1.20218 -0.0312,3.1242 0.0491,3.69057 0.19635,1.40679 0.81215,3.084 1.67339,4.56024 0.62919,1.07427 1.16021,1.68085 2.22672,2.54685 0.83001,0.67599 1.31195,0.98292 1.99024,1.26063 0.52655,0.21559 0.94155,0.32523 1.83849,0.47502 0.78092,0.13521 0.80323,0.13156 0.88355,-0.10588 0.0223,-0.0731 0.0848,-0.32156 0.13833,-0.55178 0.12496,-0.55542 0.0982,-0.76369 -0.14726,-1.16928 -0.16956,-0.28502 -0.24989,-0.36542 -1.02634,-0.99755 -1.36103,-1.11448 -1.72694,-1.50547 -2.26689,-2.41899 -1.24054,-2.09376 -1.70909,-3.80747 -1.94114,-7.08881 -0.11601,-1.6041 -0.0893,-2.96707 0.067,-3.54439 0.0893,-0.3435 0.0937,-0.34715 0.18741,-0.12792 0.46409,1.10352 0.79877,2.09743 1.19146,3.56269 0.53995,1.98414 0.65151,2.22164 1.602,3.33248 1.29855,1.52007 2.29812,2.41896 3.71269,3.33615 1.24501,0.80751 2.15534,1.17656 3.42265,1.38487 1.66893,0.27403 2.90054,0.14615 4.25264,-0.44217 0.70952,-0.31057 1.13791,-0.56269 1.43689,-0.84404 0.15172,-0.14251 0.44624,-0.37637 0.65597,-0.52256 0.81661,-0.55174 1.16467,-0.97196 2.15533,-2.59069 0.70952,-1.15469 1.16468,-1.7576 1.99468,-2.63091 0.62027,-0.6504 1.14683,-1.05236 1.76264,-1.352 l 0.53102,-0.25578 0.20973,-0.32887 c 0.11603,-0.18269 0.3213,-0.48598 0.46409,-0.67599 0.415,-0.56637 0.60689,-1.04871 0.80769,-2.02432 0.18742,-0.92446 0.26329,-1.65893 0.26329,-2.5615 -0.005,-1.02677 -0.0402,-1.16928 -0.52656,-1.97315 -1.02635,-1.69184 -2.28921,-2.65285 -4.35529,-3.31788 -1.01742,-0.32521 -1.91881,-0.51521 -2.96748,-0.62482 -1.35656,-0.14252 -1.72694,-0.14983 -6.69357,-0.14983 -2.75774,0 -4.89076,-0.0145 -4.92646,-0.0329 -0.0491,-0.0254 -0.0491,-0.0365 0.005,-0.0621 0.1428,-0.0658 1.16021,-0.17174 3.94028,-0.41655 3.67253,-0.32521 4.65426,-0.4604 5.84571,-0.82215 1.91883,-0.57735 3.35571,-1.20949 4.864,-2.1376 1.70909,-1.05239 2.5614,-1.99877 3.07904,-3.42018 0.34806,-0.94275 0.60242,-2.36781 0.60242,-3.32152 -0.005,-0.76369 -0.12049,-1.15833 -0.58011,-1.91836 -0.6649,-1.09621 -1.36549,-1.73567 -2.61942,-2.40071 -0.35252,-0.18635 -1.1513,-0.61388 -1.77156,-0.95004 -1.60646,-0.86236 -2.02592,-1.20583 -3.22184,-2.6236 -0.67829,-0.8112 -1.13345,-1.28988 -1.63322,-1.74297 -1.17807,-1.05967 -2.6462,-1.78682 -4.09647,-2.02433 -0.49532,-0.0841 -1.75818,-0.12059 -2.27581,-0.0695 z"
|
||||||
|
id="path1-3-3"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00403802" /><path
|
||||||
|
d="m 129.33803,187.58044 c -0.9371,0.10563 -1.47259,0.25052 -2.432,0.66548 -1.53059,0.66158 -3.04333,1.6833 -4.03846,2.73242 -0.5444,0.56761 -1.4815,1.79289 -1.80279,2.34878 -0.22312,0.38755 -0.33468,0.97082 -0.51317,2.70892 -0.0937,0.88862 -0.13387,1.35447 -0.33915,3.8559 -0.19634,2.37228 -0.33021,3.55057 -0.41946,3.68761 -0.0714,0.11356 -0.22757,-0.88082 -0.67382,-4.25521 -0.63812,-4.83459 -0.80322,-5.66057 -1.38334,-6.85453 -0.8657,-1.76942 -2.88269,-3.24132 -5.42178,-3.95378 -1.27179,-0.35622 -2.30706,-0.36406 -3.6904,-0.0313 -1.20484,0.29358 -2.23118,0.77509 -3.37355,1.59715 -1.02635,0.73596 -1.602,1.27617 -2.93624,2.74416 -1.25394,1.37796 -1.96345,2.22351 -2.22673,2.65021 -0.0893,0.14876 -0.178502,0.23096 -0.307912,0.28969 -0.22311,0.10178 -0.3079,0.16049 -1.41011,0.95125 -1.22716,0.8847 -1.75372,1.29183 -2.2535,1.75376 -1.03526,0.95516 -1.57968,1.73808 -1.93221,2.79112 -0.23651,0.70463 -0.29452,1.09218 -0.29452,1.9573 0.005,1.05695 0.13834,1.83987 0.40607,2.30574 0.22759,0.4032 1.04867,1.25658 1.61093,1.67935 0.87463,0.65769 2.75329,1.52282 4.132162,1.90647 1.81173,0.50106 3.55652,0.74766 7.45663,1.05691 3.1549,0.25054 4.33744,0.3758 4.65873,0.49326 l 0.15172,0.0549 -0.15172,0.14093 c -0.18742,0.16834 -0.415,0.23096 -1.15576,0.30534 -0.7943,0.0822 -1.86527,0.13312 -3.88226,0.18006 -3.71271,0.0861 -5.30578,0.19575 -6.47045,0.45019 -1.557372,0.34059 -3.565452,1.53846 -4.730132,2.81854 -1.22269,1.35057 -1.6957,2.55627 -1.94114,4.95201 -0.0893,0.84557 -0.0893,1.64805 0,1.90253 0.12049,0.36014 0.78985,1.23701 1.75372,2.29786 0.7006,0.76728 1.2227,1.24878 2.03039,1.86337 l 0.76753,0.5872 0.39714,0.74771 c 0.21866,0.41104 0.49534,0.90034 0.61582,1.08826 0.727372,1.11567 1.954522,2.52886 2.905002,3.34702 0.89694,0.77116 1.52168,1.08825 2.67297,1.35446 1.55737,0.36404 3.95367,0.52065 4.9934,0.32489 1.19145,-0.21919 2.68635,-0.98257 3.79749,-1.93382 0.49978,-0.42669 1.01742,-1.08044 1.44134,-1.82815 0.52211,-0.9199 0.9371,-2.42312 1.51721,-5.5431 0.42838,-2.27832 0.69613,-3.5349 0.87016,-4.02424 0.17404,-0.48934 0.43286,-0.71637 0.91033,-0.79468 l 0.16956,-0.0272 -0.0268,0.32883 c -0.0357,0.43058 -0.18741,3.32744 -0.25434,4.85022 -0.058,1.28792 -0.0312,3.34701 0.0491,3.95377 0.19635,1.50712 0.81215,3.30395 1.67339,4.88547 0.62919,1.15089 1.16021,1.80073 2.22672,2.72849 0.83001,0.7242 1.31195,1.05302 1.99024,1.35054 0.52655,0.23096 0.94155,0.34842 1.83849,0.50889 0.78092,0.14486 0.80323,0.14095 0.88355,-0.11343 0.0223,-0.0783 0.0848,-0.34449 0.13833,-0.59113 0.12496,-0.59503 0.0982,-0.81815 -0.14726,-1.25267 -0.16956,-0.30535 -0.24989,-0.39148 -1.02634,-1.06869 -1.36103,-1.19397 -1.72694,-1.61284 -2.26689,-2.59151 -1.24054,-2.24309 -1.70909,-4.07901 -1.94114,-7.59437 -0.11601,-1.71851 -0.0893,-3.17868 0.067,-3.79717 0.0893,-0.368 0.0937,-0.37191 0.18741,-0.13705 0.46409,1.18222 0.79877,2.24702 1.19146,3.81678 0.53995,2.12564 0.65151,2.38008 1.602,3.57014 1.29855,1.62848 2.29812,2.59148 3.71269,3.57408 1.24501,0.8651 2.15534,1.26047 3.42265,1.48364 1.66893,0.29357 2.90054,0.15657 4.25264,-0.4737 0.70952,-0.33272 1.13791,-0.60282 1.43689,-0.90424 0.15172,-0.15267 0.44624,-0.40321 0.65597,-0.55983 0.81661,-0.59109 1.16467,-1.04128 2.15533,-2.77545 0.70952,-1.23704 1.16468,-1.88295 1.99468,-2.81854 0.62027,-0.69679 1.14683,-1.12742 1.76264,-1.44843 l 0.53102,-0.27402 0.20973,-0.35232 c 0.11603,-0.19572 0.3213,-0.52064 0.46409,-0.7242 0.415,-0.60677 0.60689,-1.12351 0.80769,-2.1687 0.18742,-0.99039 0.26329,-1.77724 0.26329,-2.74418 -0.005,-1.09999 -0.0402,-1.25267 -0.52656,-2.11387 -1.02635,-1.8125 -2.28921,-2.84205 -4.35529,-3.55451 -1.01742,-0.3484 -1.91881,-0.55195 -2.96748,-0.66938 -1.35656,-0.15268 -1.72694,-0.16051 -6.69357,-0.16051 -2.75774,0 -4.89076,-0.0155 -4.92646,-0.0353 -0.0491,-0.0272 -0.0491,-0.0391 0.005,-0.0665 0.1428,-0.0705 1.16021,-0.18399 3.94028,-0.44625 3.67253,-0.34841 4.65426,-0.49324 5.84571,-0.88079 1.91883,-0.61853 3.35571,-1.29575 4.864,-2.29005 1.70909,-1.12744 2.5614,-2.14132 3.07904,-3.6641 0.34806,-1.00999 0.60242,-2.53668 0.60242,-3.55841 -0.005,-0.81815 -0.12049,-1.24094 -0.58011,-2.05517 -0.6649,-1.17439 -1.36549,-1.85946 -2.61942,-2.57193 -0.35252,-0.19964 -1.1513,-0.65766 -1.77156,-1.01779 -1.60646,-0.92386 -2.02592,-1.29183 -3.22184,-2.81071 -0.67829,-0.86906 -1.13345,-1.38187 -1.63322,-1.86728 -1.17807,-1.13524 -2.6462,-1.91425 -4.09647,-2.1687 -0.49532,-0.0901 -1.75818,-0.12919 -2.27581,-0.0745 z"
|
||||||
|
id="path1-3-3-3"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00417953" /><path
|
||||||
|
d="m 181.97617,266.85651 c -0.67575,0.64029 -1.01388,1.06776 -1.53142,1.94677 -0.82591,1.402 -1.43323,3.05558 -1.61859,4.41795 -0.10501,0.74073 -0.14474,2.1965 -0.0812,2.79453 0.0449,0.41641 0.28862,0.90832 1.13586,2.28156 0.4312,0.70353 0.66429,1.06698 1.92402,3.01229 1.1934,1.84589 1.7576,2.78457 1.76538,2.93802 0.008,0.12563 -0.679,-0.50471 -2.94617,-2.69417 -3.24722,-3.13763 -3.84604,-3.63997 -4.97973,-4.16083 -1.68478,-0.76832 -4.10447,-0.62779 -6.50269,0.37974 -1.20085,0.50514 -2.01813,1.12178 -2.91522,2.19577 -0.77918,0.93815 -1.31147,1.90587 -1.74142,3.19138 -0.38776,1.15305 -0.53286,1.89258 -0.74653,3.76389 -0.20177,1.75747 -0.27852,2.79987 -0.24285,3.26893 0.0145,0.16203 -0.009,0.27552 -0.0772,0.3961 -0.11736,0.20827 -0.15058,0.30199 -0.56677,1.54057 -0.46093,1.38212 -0.64309,1.99519 -0.77308,2.63208 -0.27025,1.31807 -0.25296,2.21559 0.0684,3.19451 0.21449,0.65542 0.3892,0.97253 0.88059,1.60266 0.60431,0.7668 1.15373,1.25688 1.62856,1.43525 0.40772,0.15685 1.53713,0.2848 2.21873,0.25469 1.06028,-0.0468 3.02671,-0.54603 4.32722,-1.09559 1.70709,-0.72416 3.21702,-1.59353 6.45478,-3.71296 2.61931,-1.71416 3.6189,-2.33386 3.93789,-2.44144 l 0.15029,-0.0513 -0.0391,0.19387 c -0.0515,0.23528 -0.19464,0.41769 -0.73398,0.9172 -0.57692,0.53738 -1.38886,1.21831 -2.94579,2.46507 -2.86604,2.29471 -4.05453,3.33228 -4.82441,4.21777 -1.02926,1.18432 -1.92543,3.264 -2.11272,4.89652 -0.19279,1.71872 0.12071,2.88127 1.28889,4.77374 0.4102,0.66956 0.86603,1.25404 1.0807,1.3857 0.29919,0.18988 1.32282,0.42613 2.68218,0.61934 0.9859,0.13767 1.66933,0.17448 2.65257,0.13657 l 0.93618,-0.0338 0.73652,0.30584 c 0.40517,0.16793 0.90034,0.35798 1.10167,0.4224 1.20483,0.37532 2.97105,0.66689 4.18203,0.69137 1.14227,0.0225 1.8129,-0.12216 2.86802,-0.62038 1.42954,-0.67109 3.39989,-1.99764 4.10501,-2.76527 0.81094,-0.87594 1.551,-2.33064 1.88304,-3.69146 0.15001,-0.61124 0.18507,-1.39859 0.0932,-2.19803 -0.11263,-0.98388 -0.64069,-2.32822 -1.9575,-4.9494 -0.95783,-1.91694 -1.4614,-2.99312 -1.60274,-3.45416 -0.14127,-0.46104 -0.067,-0.782 0.26333,-1.12607 l 0.11765,-0.12184 0.16576,0.25561 c 0.21655,0.33508 1.74296,2.53621 2.55542,3.68556 0.68604,0.97289 1.87672,2.45652 2.28443,2.85018 1.01026,0.97967 2.51442,1.91816 4.08896,2.55231 1.14775,0.45998 1.9338,0.61405 3.29816,0.64862 1.06302,0.0285 1.6282,-0.0218 2.32975,-0.21281 0.5446,-0.14832 0.93714,-0.31233 1.73252,-0.73457 0.69541,-0.36398 0.71074,-0.3802 0.62928,-0.6138 -0.0268,-0.0705 -0.12909,-0.3019 -0.22718,-0.51371 -0.23993,-0.5085 -0.38765,-0.65493 -0.82719,-0.82384 -0.30658,-0.12047 -0.41856,-0.13492 -1.41286,-0.16137 -1.74681,-0.0514 -2.27202,-0.13652 -3.25188,-0.52473 -2.24814,-0.88795 -3.65889,-1.94345 -5.83794,-4.36435 -1.06726,-1.18192 -1.87572,-2.26149 -2.10432,-2.80592 -0.13894,-0.32171 -0.1378,-0.32718 0.0693,-0.21249 1.0359,0.58207 1.90353,1.15641 3.10353,2.06365 1.63136,1.22361 1.86349,1.34186 3.28575,1.63722 1.94456,0.40544 3.27637,0.50592 4.94514,0.37119 1.46891,-0.11838 2.40822,-0.37767 3.52998,-0.97701 1.47709,-0.78951 2.36624,-1.62971 3.0698,-2.90161 0.36807,-0.66889 0.55097,-1.12316 0.6145,-1.52243 0.0324,-0.20242 0.12132,-0.56194 0.19702,-0.8021 0.30538,-0.92146 0.32292,-1.45858 0.11565,-3.31723 -0.14562,-1.32753 -0.15518,-2.07161 -0.035,-3.25201 0.0912,-0.88041 0.25999,-1.5106 0.56112,-2.11463 l 0.26129,-0.51882 -0.0355,-0.38269 c -0.02,-0.21234 -0.0435,-0.57237 -0.047,-0.80647 -0.0188,-0.69142 -0.1617,-1.18315 -0.59777,-2.06513 -0.41543,-0.83401 -0.80282,-1.45273 -1.35208,-2.15699 -0.62876,-0.79817 -0.74312,-0.88822 -1.61417,-1.22307 -1.83539,-0.70311 -3.41173,-0.69377 -5.43857,0.0294 -0.9967,0.3579 -1.82002,0.75157 -2.71008,1.29644 -1.1518,0.70434 -1.44705,0.9213 -5.34648,3.90712 -2.16519,1.65789 -3.84869,2.92893 -3.88796,2.93596 -0.054,0.009 -0.0608,10e-4 -0.0338,-0.0515 0.0721,-0.13718 0.80639,-0.83149 2.84013,-2.69382 2.6855,-2.4616 3.37401,-3.15727 4.08931,-4.15582 1.15518,-1.60406 1.89863,-2.96113 2.51803,-4.59207 0.70142,-1.84864 0.79467,-3.09948 0.3361,-4.51978 -0.30049,-0.94486 -0.96796,-2.20974 -1.54836,-2.95392 -0.46865,-0.59288 -0.79949,-0.83139 -1.62286,-1.14813 -1.18913,-0.45564 -2.12833,-0.53342 -3.51754,-0.29852 -0.39015,0.0666 -1.27749,0.2131 -1.96905,0.3237 -1.78606,0.29293 -2.32442,0.27703 -4.12615,-0.11028 -1.02621,-0.2252 -1.67487,-0.32508 -2.34298,-0.37816 -1.5698,-0.11863 -3.16497,0.19659 -4.44811,0.88336 -0.44007,0.23218 -1.45377,0.96289 -1.82913,1.31389 z"
|
||||||
|
id="path1-3-3-3-6"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00399432"
|
||||||
|
inkscape:transform-center-x="323.33333"
|
||||||
|
inkscape:transform-center-y="-3.4874273" /><path
|
||||||
|
d="m 309.70135,218.68714 c -0.77928,0.0869 -1.22459,0.20605 -2.02242,0.54734 -1.27283,0.54414 -2.53081,1.38448 -3.35835,2.24735 -0.45271,0.46686 -1.232,1.47462 -1.49918,1.93182 -0.18554,0.31876 -0.27831,0.79848 -0.42674,2.22804 -0.0779,0.73086 -0.11133,1.11402 -0.28204,3.17139 -0.16327,1.95114 -0.2746,2.92026 -0.34882,3.03298 -0.0594,0.0934 -0.18924,-0.72446 -0.56034,-3.49982 -0.53065,-3.97634 -0.66795,-4.6557 -1.15037,-5.63771 -0.7199,-1.4553 -2.39721,-2.66591 -4.50869,-3.25189 -1.05761,-0.29299 -1.91853,-0.29943 -3.0689,-0.0257 -1.00193,0.24147 -1.85543,0.63749 -2.80541,1.31362 -0.8535,0.60532 -1.33221,1.04962 -2.44175,2.25702 -1.04276,1.13334 -1.63278,1.82879 -1.85172,2.17973 -0.0743,0.12236 -0.14844,0.18997 -0.25606,0.23827 -0.18553,0.0837 -0.25604,0.13199 -1.17263,0.78238 -1.02049,0.72765 -1.45837,1.0625 -1.87398,1.44243 -0.86092,0.7856 -1.31365,1.42953 -1.60681,2.29564 -0.19668,0.57954 -0.24492,0.89829 -0.24492,1.60983 0.004,0.86932 0.11504,1.51326 0.33768,1.89642 0.18926,0.33162 0.87207,1.03351 1.33964,1.38123 0.72733,0.54093 2.2896,1.25249 3.43626,1.56803 1.50661,0.41212 2.95756,0.61494 6.20085,0.86928 2.62358,0.20607 3.60697,0.3091 3.87415,0.40571 l 0.12617,0.0451 -0.12617,0.11591 c -0.15585,0.13846 -0.34511,0.18996 -0.96112,0.25114 -0.66053,0.0676 -1.55113,0.10948 -3.22844,0.14809 -3.08745,0.0708 -4.41223,0.161 -5.38076,0.37027 -1.29509,0.28013 -2.96499,1.26535 -3.93353,2.31819 -1.01677,1.11082 -1.41012,2.10247 -1.61423,4.07292 -0.0743,0.69547 -0.0743,1.35549 0,1.56479 0.1002,0.29621 0.65683,1.01742 1.45838,1.88994 0.58261,0.63107 1.01678,1.02709 1.68845,1.53258 l 0.63827,0.48296 0.33026,0.61497 c 0.18183,0.33808 0.41191,0.74052 0.5121,0.89508 0.60488,0.91761 1.62536,2.07993 2.41577,2.75284 0.74589,0.63427 1.26542,0.89507 2.22282,1.11402 1.29509,0.29941 3.28783,0.42823 4.15245,0.26722 0.9908,-0.18028 2.23394,-0.80815 3.15796,-1.59053 0.41561,-0.35094 0.84607,-0.88864 1.1986,-1.50361 0.43418,-0.7566 0.77928,-1.99297 1.2617,-4.55909 0.35623,-1.87386 0.57889,-2.90737 0.72361,-3.30984 0.14473,-0.40247 0.35996,-0.5892 0.75702,-0.65361 l 0.14101,-0.0224 -0.0223,0.27046 c -0.0297,0.35414 -0.15585,2.73674 -0.21151,3.9892 -0.0482,1.05928 -0.0259,2.75284 0.0408,3.25189 0.16328,1.23958 0.67537,2.71743 1.39157,4.01819 0.52323,0.94658 0.96482,1.48106 1.85172,2.24412 0.69022,0.59564 1.091,0.86609 1.65506,1.11079 0.43787,0.18996 0.78298,0.28657 1.52887,0.41856 0.6494,0.11914 0.66795,0.11592 0.73475,-0.0933 0.0185,-0.0644 0.0705,-0.28334 0.11503,-0.4862 0.10392,-0.4894 0.0817,-0.67291 -0.12246,-1.03029 -0.141,-0.25114 -0.2078,-0.32198 -0.85349,-0.87898 -1.13182,-0.98201 -1.43611,-1.32652 -1.88512,-2.13146 -1.03162,-1.84488 -1.42126,-3.35489 -1.61424,-6.2462 -0.0965,-1.41343 -0.0743,-2.61439 0.0557,-3.12309 0.0743,-0.30267 0.0779,-0.30589 0.15585,-0.11272 0.38593,0.97236 0.66425,1.84813 0.99081,3.13922 0.44901,1.7483 0.54178,1.95757 1.3322,2.93637 1.07986,1.33938 1.91109,2.13143 3.08744,2.9396 1.03533,0.71152 1.79235,1.03671 2.84623,1.22026 1.38787,0.24145 2.41206,0.12878 3.53646,-0.38961 0.59002,-0.27366 0.94627,-0.49581 1.1949,-0.74372 0.12617,-0.12557 0.37109,-0.33163 0.5455,-0.46045 0.67908,-0.48615 0.96852,-0.85642 1.79235,-2.28275 0.59002,-1.01743 0.96853,-1.54868 1.65875,-2.31818 0.51581,-0.5731 0.95369,-0.92728 1.46579,-1.1913 l 0.44159,-0.22538 0.17441,-0.28978 c 0.0965,-0.16097 0.26719,-0.42821 0.38594,-0.59564 0.34511,-0.49904 0.50468,-0.92405 0.67166,-1.7837 0.15586,-0.81457 0.21895,-1.46174 0.21895,-2.25703 -0.004,-0.90472 -0.0334,-1.03029 -0.43788,-1.73861 -0.8535,-1.49074 -1.90368,-2.33752 -3.62181,-2.9235 -0.84608,-0.28656 -1.59567,-0.45397 -2.46773,-0.55056 -1.1281,-0.12557 -1.4361,-0.13202 -5.5663,-0.13202 -2.29331,0 -4.06711,-0.0128 -4.09679,-0.029 -0.0408,-0.0224 -0.0408,-0.0322 0.004,-0.0547 0.11876,-0.058 0.96482,-0.15132 3.2767,-0.36703 3.05404,-0.28656 3.87043,-0.40568 4.86123,-0.72443 1.59568,-0.50872 2.79057,-1.06572 4.04485,-1.88352 1.42126,-0.92729 2.13004,-1.76118 2.5605,-3.01364 0.28944,-0.83069 0.50097,-2.08636 0.50097,-2.92671 -0.004,-0.67291 -0.1002,-1.02065 -0.48242,-1.69034 -0.55292,-0.96591 -1.13553,-1.52936 -2.17828,-2.11535 -0.29315,-0.1642 -0.95741,-0.54091 -1.47321,-0.83711 -1.33592,-0.75986 -1.68473,-1.0625 -2.67925,-2.31175 -0.56406,-0.71478 -0.94256,-1.13656 -1.35817,-1.53579 -0.97967,-0.93372 -2.20055,-1.57444 -3.40658,-1.78371 -0.4119,-0.0741 -1.46208,-0.10626 -1.89254,-0.0612 z"
|
||||||
|
id="path1-3-3-2"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00345656" /><path
|
||||||
|
d="m 434.17193,103.02813 c -0.71225,0.32793 -1.09736,0.58128 -1.74709,1.15649 -1.03665,0.91735 -1.96592,2.11115 -2.47956,3.19075 -0.28262,0.58569 -0.70482,1.78761 -0.8144,2.30569 -0.0757,0.36098 -0.0126,0.8455 0.29675,2.24905 0.15627,0.71819 0.24522,1.09238 0.73122,3.0988 0.45959,1.90326 0.65918,2.85811 0.62424,2.98847 -0.027,0.10736 -0.4078,-0.62798 -1.63417,-3.14519 -1.75608,-3.60681 -2.10037,-4.20834 -2.86754,-4.98842 -1.14163,-1.15448 -3.11488,-1.77516 -5.30345,-1.66626 -1.09607,0.055 -1.9152,0.3201 -2.9208,0.94223 -0.87487,0.54476 -1.56019,1.18945 -2.24886,2.13038 -0.6194,0.84334 -0.9338,1.41581 -1.60657,2.91123 -0.63271,1.40409 -0.97365,2.24998 -1.07091,2.65202 -0.032,0.13953 -0.0811,0.22706 -0.16798,0.30679 -0.14972,0.13788 -0.20143,0.20592 -0.86652,1.11191 -0.73935,1.01204 -1.04948,1.46776 -1.32427,1.95926 -0.56965,1.01678 -0.79652,1.77053 -0.80196,2.6849 -0.004,0.61199 0.0505,0.92971 0.2746,1.60503 0.27761,0.82381 0.58582,1.4 0.91781,1.69353 0.28408,0.25513 1.15321,0.70623 1.7065,0.88898 0.86069,0.28431 2.56757,0.46758 3.75525,0.40589 1.55973,-0.0834 3.00071,-0.34791 6.15903,-1.12806 2.55495,-0.63077 3.52074,-0.84273 3.80475,-0.83519 l 0.13395,0.003 -0.0832,0.14975 c -0.10431,0.1805 -0.26771,0.28899 -0.8331,0.54108 -0.60562,0.27221 -1.43769,0.59247 -3.01747,1.15742 -2.908,1.03966 -4.13694,1.54254 -4.99026,2.04621 -1.14094,0.67379 -2.41552,2.13484 -3.00315,3.43915 -0.61514,1.37454 -0.67613,2.43961 -0.24921,4.37405 0.14854,0.68348 0.35642,1.3099 0.49286,1.48515 0.1884,0.24957 0.94386,0.75875 1.97943,1.33439 0.75173,0.41544 1.28854,0.65456 2.08523,0.92276 l 0.7579,0.25734 0.50715,0.47965 c 0.27906,0.2636 0.62419,0.57308 0.76796,0.68822 0.86312,0.68038 2.19775,1.46212 3.15988,1.85182 0.9077,0.36705 1.48293,0.45094 2.46057,0.35719 1.32347,-0.12374 3.25536,-0.62914 4.02526,-1.05428 0.88358,-0.48318 1.86569,-1.47065 2.49625,-2.50425 0.28392,-0.46398 0.52311,-1.1099 0.66399,-1.8046 0.17378,-0.85485 0.11189,-2.13698 -0.2385,-4.72444 -0.25212,-1.89068 -0.36632,-2.94172 -0.35573,-3.36929 0.0106,-0.42757 0.15606,-0.67259 0.51262,-0.85878 l 0.12678,-0.0657 0.064,0.26371 c 0.0833,0.34547 0.71408,2.64653 1.05574,3.85278 0.2879,1.02054 0.84249,2.62088 1.06298,3.07352 0.5454,1.12506 1.49691,2.36639 2.58636,3.37536 0.79474,0.7336 1.3822,1.10178 2.4643,1.54666 0.8427,0.34792 1.30827,0.47837 1.92069,0.53295 0.47541,0.0424 0.83339,0.0254 1.58289,-0.0843 0.65387,-0.0915 0.67046,-0.10036 0.66796,-0.31997 -0.003,-0.067 -0.0223,-0.29113 -0.044,-0.49769 -0.0555,-0.49722 -0.13441,-0.66439 -0.44074,-0.93928 -0.21293,-0.19394 -0.29864,-0.24014 -1.08691,-0.56541 -1.38351,-0.57554 -1.78083,-0.80667 -2.46052,-1.42921 -1.56019,-1.42605 -2.40561,-2.73647 -3.49945,-5.41983 -0.53678,-1.3111 -0.89398,-2.45792 -0.93082,-2.98168 -0.0248,-0.31066 -0.0224,-0.31485 0.11241,-0.15607 0.67255,0.80131 1.21255,1.54485 1.92915,2.66736 0.97682,1.51789 1.13078,1.68729 2.18926,2.36731 1.44677,0.93108 2.48516,1.421 3.85619,1.81752 1.20674,0.3492 2.02765,0.4194 3.08571,0.26166 1.39327,-0.20798 2.32985,-0.6375 3.23374,-1.48366 0.47379,-0.44557 0.74194,-0.76863 0.89983,-1.08223 0.0802,-0.15892 0.24774,-0.43163 0.3727,-0.60883 0.49139,-0.6753 0.64948,-1.11789 0.98212,-2.7311 0.23953,-1.15148 0.43144,-1.77491 0.84416,-2.72265 0.30904,-0.70639 0.61308,-1.18046 1.01595,-1.59234 l 0.34813,-0.353 0.0743,-0.32997 c 0.0409,-0.18317 0.11872,-0.49057 0.17869,-0.68688 0.17036,-0.58234 0.18794,-1.03598 0.0756,-1.90446 -0.10864,-0.8222 -0.2526,-1.45631 -0.50309,-2.21112 -0.28876,-0.85741 -0.35622,-0.96733 -0.96321,-1.51219 -1.2796,-1.14604 -2.54304,-1.61894 -4.35828,-1.63393 -0.89328,-0.005 -1.65744,0.0717 -2.51554,0.25473 -1.11023,0.23614 -1.40459,0.32703 -5.32456,1.62793 -2.17659,0.72233 -3.86413,1.26888 -3.8974,1.26285 -0.0458,-0.008 -0.0489,-0.0177 -0.0134,-0.0532 0.0944,-0.0925 0.86805,-0.44751 2.99432,-1.38042 2.80833,-1.23391 3.54565,-1.60411 4.38562,-2.21871 1.35423,-0.98542 2.31286,-1.89043 3.24571,-3.06167 1.05685,-1.32775 1.4669,-2.34244 1.48096,-3.66673 0.0131,-0.87958 -0.18167,-2.13796 -0.44636,-2.93554 -0.21574,-0.6374 -0.41657,-0.93714 -0.99027,-1.45235 -0.82901,-0.74259 -1.55944,-1.09386 -2.73369,-1.32158 -0.32994,-0.0635 -1.07905,-0.21183 -1.66189,-0.33049 -1.50726,-0.3004 -1.93364,-0.47777 -3.27101,-1.35019 -0.76049,-0.50074 -1.25257,-0.78183 -1.77278,-1.02983 -1.2239,-0.57763 -2.58444,-0.80119 -3.795,-0.61995 -0.41428,0.0594 -1.42113,0.35967 -1.81549,0.53802 z"
|
||||||
|
id="path1-3-3-2-0"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00345656" /><path
|
||||||
|
d="m 99.090959,92.821662 c -0.71225,0.32793 -1.09736,0.58128 -1.74709,1.15649 -1.03665,0.91735 -1.96592,2.11115 -2.47956,3.19075 -0.28262,0.58569 -0.70482,1.78761 -0.8144,2.30569 -0.0757,0.36098 -0.0126,0.845498 0.29675,2.249048 0.15627,0.71819 0.24522,1.09238 0.73122,3.0988 0.45959,1.90326 0.65918,2.85811 0.62424,2.98847 -0.027,0.10736 -0.4078,-0.62798 -1.63417,-3.14519 -1.75608,-3.60681 -2.10037,-4.20834 -2.86754,-4.988418 -1.14163,-1.15448 -3.11488,-1.77516 -5.30345,-1.66626 -1.09607,0.055 -1.9152,0.3201 -2.9208,0.94223 -0.87487,0.54476 -1.56019,1.189448 -2.24886,2.130378 -0.6194,0.84334 -0.9338,1.41581 -1.60657,2.91123 -0.63271,1.40409 -0.97365,2.24998 -1.07091,2.65202 -0.032,0.13953 -0.0811,0.22706 -0.16798,0.30679 -0.14972,0.13788 -0.20143,0.20592 -0.86652,1.11191 -0.73935,1.01204 -1.04948,1.46776 -1.32427,1.95926 -0.56965,1.01678 -0.79652,1.77053 -0.80196,2.6849 -0.004,0.61199 0.0505,0.92971 0.2746,1.60503 0.27761,0.82381 0.58582,1.4 0.91781,1.69353 0.28408,0.25513 1.15321,0.70623 1.7065,0.88898 0.86069,0.28431 2.56757,0.46758 3.75525,0.40589 1.55973,-0.0834 3.00071,-0.34791 6.15903,-1.12806 2.55495,-0.63077 3.52074,-0.84273 3.80475,-0.83519 l 0.13395,0.003 -0.0832,0.14975 c -0.10431,0.1805 -0.26771,0.28899 -0.8331,0.54108 -0.60562,0.27221 -1.43769,0.59247 -3.01747,1.15742 -2.908,1.03966 -4.13694,1.54254 -4.99026,2.04621 -1.14094,0.67379 -2.41552,2.13484 -3.00315,3.43915 -0.61514,1.37454 -0.67613,2.43961 -0.24921,4.37405 0.14854,0.68348 0.35642,1.3099 0.49286,1.48515 0.1884,0.24957 0.94386,0.75875 1.97943,1.33439 0.75173,0.41544 1.28854,0.65456 2.08523,0.92276 l 0.7579,0.25734 0.50715,0.47965 c 0.27906,0.2636 0.62419,0.57308 0.76796,0.68822 0.86312,0.68038 2.19775,1.46212 3.15988,1.85182 0.9077,0.36705 1.48293,0.45094 2.46057,0.35719 1.32347,-0.12374 3.25536,-0.62914 4.02526,-1.05428 0.88358,-0.48318 1.86569,-1.47065 2.49625,-2.50425 0.28392,-0.46398 0.52311,-1.1099 0.66399,-1.8046 0.17378,-0.85485 0.11189,-2.13698 -0.2385,-4.72444 -0.25212,-1.89068 -0.36632,-2.94172 -0.35573,-3.36929 0.0106,-0.42757 0.15606,-0.67259 0.51262,-0.85878 l 0.12678,-0.0657 0.064,0.26371 c 0.0833,0.34547 0.71408,2.64653 1.055741,3.85278 0.2879,1.02054 0.84249,2.62088 1.06298,3.07352 0.5454,1.12506 1.49691,2.36639 2.58636,3.37536 0.79474,0.7336 1.3822,1.10178 2.4643,1.54666 0.8427,0.34792 1.30827,0.47837 1.92069,0.53295 0.47541,0.0424 0.83339,0.0254 1.58289,-0.0843 0.65387,-0.0915 0.67046,-0.10036 0.66796,-0.31997 -0.003,-0.067 -0.0223,-0.29113 -0.044,-0.49769 -0.0555,-0.49722 -0.13441,-0.66439 -0.44074,-0.93928 -0.21293,-0.19394 -0.29864,-0.24014 -1.08691,-0.56541 -1.38351,-0.57554 -1.78083,-0.80667 -2.46052,-1.42921 -1.56019,-1.42605 -2.40561,-2.73647 -3.49945,-5.41983 -0.53678,-1.3111 -0.89398,-2.45792 -0.93082,-2.98168 -0.0248,-0.31066 -0.0224,-0.31485 0.11241,-0.15607 0.67255,0.80131 1.21255,1.54485 1.92915,2.66736 0.97682,1.51789 1.13078,1.68729 2.18926,2.36731 1.44677,0.93108 2.48516,1.421 3.85619,1.81752 1.20674,0.3492 2.02765,0.4194 3.08571,0.26166 1.39327,-0.20798 2.32985,-0.6375 3.23374,-1.48366 0.47379,-0.44557 0.74194,-0.76863 0.89983,-1.08223 0.0802,-0.15892 0.24774,-0.43163 0.3727,-0.60883 0.49139,-0.6753 0.64948,-1.11789 0.98212,-2.7311 0.23953,-1.15148 0.43144,-1.77491 0.84416,-2.72265 0.30904,-0.70639 0.61308,-1.18046 1.01595,-1.59234 l 0.34813,-0.353 0.0743,-0.32997 c 0.0409,-0.18317 0.11872,-0.49057 0.17869,-0.68688 0.17036,-0.58234 0.18794,-1.03598 0.0756,-1.90446 -0.10864,-0.8222 -0.2526,-1.45631 -0.50309,-2.21112 -0.28876,-0.85741 -0.35622,-0.96733 -0.96321,-1.51219 -1.2796,-1.14604 -2.54304,-1.61894 -4.35828,-1.63393 -0.89328,-0.005 -1.65744,0.0717 -2.51554,0.25473 -1.11023,0.23614 -1.40459,0.32703 -5.32456,1.62793 -2.17659,0.72233 -3.86413,1.26888 -3.8974,1.26285 -0.0458,-0.008 -0.0489,-0.0177 -0.0134,-0.0532 0.0944,-0.0925 0.86805,-0.44751 2.99432,-1.38042 2.80833,-1.23391 3.54565,-1.60411 4.38562,-2.21871 1.35423,-0.98542 2.31286,-1.89043 3.24571,-3.06167 1.05685,-1.32775 1.4669,-2.34244 1.48096,-3.66673 0.0131,-0.87958 -0.18167,-2.137958 -0.44636,-2.935538 -0.21574,-0.6374 -0.41657,-0.93714 -0.99027,-1.45235 -0.82901,-0.74259 -1.55944,-1.09386 -2.73369,-1.32158 -0.32994,-0.0635 -1.07905,-0.21183 -1.66189,-0.33049 -1.50726,-0.3004 -1.93364,-0.47777 -3.27101,-1.35019 -0.76049,-0.50074 -1.25257,-0.78183 -1.77278,-1.02983 -1.2239,-0.57763 -2.58444,-0.80119 -3.795,-0.61995 -0.41428,0.0594 -1.421131,0.35967 -1.815491,0.53802 z"
|
||||||
|
id="path1-3-3-2-0-4"
|
||||||
|
style="fill:#e5ffd5;fill-opacity:1;stroke:none;stroke-width:0.00345656" /></svg>
|
||||||
|
After Width: | Height: | Size: 56 KiB |
1
dist/icon_variations/saintpatrick2026_bgcolor
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
#3cce5bff
|
||||||
211
dist/icon_variations/valentines2026.svg
vendored
Normal file
|
|
@ -0,0 +1,211 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="512"
|
||||||
|
height="512"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg7"
|
||||||
|
sodipodi:docname="EdenLogoLoveWhiteV3.svg"
|
||||||
|
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:export-filename="dev.eden_emu.eden.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<metadata
|
||||||
|
id="metadata1">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
|
||||||
|
<dc:creator>
|
||||||
|
<cc:Agent>
|
||||||
|
<dc:title>Madeline_Dev</dc:title>
|
||||||
|
<dc:identifier>mailto:madelvidel@gmail.com</dc:identifier>
|
||||||
|
</cc:Agent>
|
||||||
|
</dc:creator>
|
||||||
|
<dc:date>2025</dc:date>
|
||||||
|
<dc:license
|
||||||
|
rdf:resource="https://www.gnu.org/licenses/gpl-3.0.html" />
|
||||||
|
<dc:rights>2025 Eden Emulator Project</dc:rights>
|
||||||
|
<dc:source>https://git.eden-emu.dev</dc:source>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs7"><linearGradient
|
||||||
|
id="swatch14"
|
||||||
|
inkscape:swatch="solid"><stop
|
||||||
|
style="stop-color:#66003b;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop14" /></linearGradient><linearGradient
|
||||||
|
id="linearGradient1"
|
||||||
|
inkscape:collect="always"><stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0.50980395;"
|
||||||
|
offset="0"
|
||||||
|
id="stop1" /><stop
|
||||||
|
style="stop-color:#000000;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop2" /></linearGradient><linearGradient
|
||||||
|
id="linearGradient11"
|
||||||
|
inkscape:collect="always"><stop
|
||||||
|
style="stop-color:#9523a7;stop-opacity:0.50980395;"
|
||||||
|
offset="0"
|
||||||
|
id="stop11" /><stop
|
||||||
|
style="stop-color:#ffabad;stop-opacity:1;"
|
||||||
|
offset="0.99898213"
|
||||||
|
id="stop20" /><stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0;"
|
||||||
|
offset="0.99898213"
|
||||||
|
id="stop12" /></linearGradient><linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient11"
|
||||||
|
id="linearGradient12"
|
||||||
|
x1="109.74531"
|
||||||
|
y1="106.54533"
|
||||||
|
x2="431.05463"
|
||||||
|
y2="427.85461"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
spreadMethod="reflect"
|
||||||
|
gradientTransform="matrix(1.0945321,0,0,1.0945321,-39.661525,-35.159057)" /><linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient1"
|
||||||
|
id="linearGradient2"
|
||||||
|
x1="125.40197"
|
||||||
|
y1="271.834"
|
||||||
|
x2="431.02424"
|
||||||
|
y2="271.834"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(1.0964243,0,0,1.0253208,-40.187969,-20.060025)" /><filter
|
||||||
|
inkscape:label="Light Contour"
|
||||||
|
inkscape:menu="Image Paint and Draw"
|
||||||
|
inkscape:menu-tooltip="Uses vertical specular light to draw lines"
|
||||||
|
style="color-interpolation-filters:sRGB"
|
||||||
|
id="filter11"
|
||||||
|
x="-0.01907517"
|
||||||
|
y="-0.054959154"
|
||||||
|
width="1.0379885"
|
||||||
|
height="1.1092314"><feGaussianBlur
|
||||||
|
in="SourceGraphic"
|
||||||
|
stdDeviation="0.38250006"
|
||||||
|
result="result3"
|
||||||
|
id="feGaussianBlur9" /><feComponentTransfer
|
||||||
|
result="result1"
|
||||||
|
in="result3"
|
||||||
|
id="feComponentTransfer9"><feFuncR
|
||||||
|
type="discrete"
|
||||||
|
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
|
||||||
|
id="feFuncR9" /><feFuncG
|
||||||
|
type="discrete"
|
||||||
|
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
|
||||||
|
id="feFuncG9" /><feFuncB
|
||||||
|
type="discrete"
|
||||||
|
tableValues="0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1"
|
||||||
|
id="feFuncB9" /></feComponentTransfer><feGaussianBlur
|
||||||
|
result="result5"
|
||||||
|
stdDeviation="0.01"
|
||||||
|
id="feGaussianBlur10" /><feBlend
|
||||||
|
in2="result5"
|
||||||
|
result="result6"
|
||||||
|
mode="lighten"
|
||||||
|
in="result5"
|
||||||
|
id="feBlend10" /><feColorMatrix
|
||||||
|
in="result6"
|
||||||
|
type="luminanceToAlpha"
|
||||||
|
result="result2"
|
||||||
|
id="feColorMatrix10" /><feSpecularLighting
|
||||||
|
surfaceScale="5"
|
||||||
|
result="result9"
|
||||||
|
specularExponent="20"
|
||||||
|
in="result2"
|
||||||
|
specularConstant="1"
|
||||||
|
id="feSpecularLighting10"><feDistantLight
|
||||||
|
azimuth="180"
|
||||||
|
elevation="90"
|
||||||
|
id="feDistantLight10" /></feSpecularLighting><feComposite
|
||||||
|
in2="result6"
|
||||||
|
operator="arithmetic"
|
||||||
|
in="result9"
|
||||||
|
k1="0.4"
|
||||||
|
k3="0.7"
|
||||||
|
result="result3"
|
||||||
|
id="feComposite10"
|
||||||
|
k2="0"
|
||||||
|
k4="0" /><feBlend
|
||||||
|
in2="result1"
|
||||||
|
in="result3"
|
||||||
|
mode="normal"
|
||||||
|
result="result8"
|
||||||
|
id="feBlend11" /><feComposite
|
||||||
|
in2="SourceGraphic"
|
||||||
|
in="result8"
|
||||||
|
operator="in"
|
||||||
|
result="result7"
|
||||||
|
id="feComposite11" /></filter></defs><sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="1.35"
|
||||||
|
inkscape:cx="254.81481"
|
||||||
|
inkscape:cy="260.37037"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="-9"
|
||||||
|
inkscape:window-y="-9"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg7"
|
||||||
|
showguides="false" /><circle
|
||||||
|
style="fill:url(#linearGradient12);fill-opacity:1;stroke:#e4e4e4;stroke-width:14.0448;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
id="path8"
|
||||||
|
cx="256.2999"
|
||||||
|
cy="257.2999"
|
||||||
|
r="248.67769" /><path
|
||||||
|
id="path15"
|
||||||
|
style="fill:url(#linearGradient2);fill-opacity:1;stroke:#ffffff;stroke-width:16.9642;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.52156866;paint-order:stroke fill markers"
|
||||||
|
d="m 306.72111,24.233031 c 0,0 -11.98397,40.08696 -18.0546,60.431848 -12.96613,9.503601 -21.49377,18.397701 -21.49377,18.397701 0,0 -23.41313,-31.029398 -45.74145,-43.934598 -22.32833,-12.905201 -52.42065,-11.242483 -52.42065,-11.242483 0,0 -12.50052,4e-4 -27.63117,5.537132 -15.13066,5.536732 -21.27107,9.227888 -21.27107,9.227888 0,0 15.35165,-0.410529 37.93799,6.766716 22.58635,7.177243 32.45374,11.484796 32.45374,11.484796 l 31.02752,-6.562453 -8.44161,11.074275 c 0,0 14.80259,8.920284 22.80648,16.917787 8.0039,7.9975 11.73088,12.50812 11.73088,12.50812 0,0 -13.92373,-5.43341 -56.68427,-1.74226 -42.76055,3.69116 -84.86368,56.39265 -84.86368,56.39265 0,0 41.22428,-15.9958 65.5649,-21.32747 24.34062,-5.33166 47.58524,-7.9983 47.58524,-7.9983 0,0 -18.41865,7.3827 -38.15428,38.3474 -19.73564,30.96468 -14.0351,80.18128 -14.0351,80.18128 0,0 31.35774,-59.05848 61.39977,-78.94969 30.04203,-19.89124 36.182,-20.50642 36.182,-20.50642 0,0 -24.1209,48.39514 -33.55015,126.11445 -9.42924,77.71931 30.26089,207.72959 30.26089,207.72959 l 47.80367,-6.97298 c 0,0 -45.61041,-42.24281 -49.55753,-151.33695 -3.94713,-109.09413 16.66479,-174.30453 16.66479,-174.30453 0,0 17.10508,1.23039 42.54213,32.81027 25.43704,31.57987 40.34713,57.41795 40.34713,57.41795 0,0 9.65024,-51.26683 -11.4011,-74.64415 -21.05135,-23.3773 -53.50637,-33.62931 -53.50637,-33.62931 0,0 13.70573,-6.66419 42.10313,-4.71609 28.39738,1.94813 87.30278,27.12897 87.30278,27.12896 0,0 -15.8158,-25.5214 -52.87463,-43.21167 -37.05881,-17.69028 -81.35597,0.29238 -81.35597,0.29238 0,0 4.13589,-15.37277 29.10021,-32.628037 24.96432,-17.25527 56.907,-34.36427 56.907,-34.36427 0,0 -26.3595,1.160335 -55.20025,12.035504 -7.176,2.7059 -14.064,6.299542 -20.36309,10.173104 l 17.40574,-51.051762 z" /><path
|
||||||
|
id="path4-2-6"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.509804;stroke:#ffffff;stroke-width:8.49614;stroke-dasharray:none;stroke-opacity:0.521569"
|
||||||
|
d="m 105.64857,363.95957 a 27.851731,25.309928 0 0 0 -7.115581,35.20471 27.851731,25.309928 0 0 0 5.656921,5.48617 c 7.16052,5.83605 21.58543,14.65841 45.88391,17.847 37.57172,4.93039 41.7105,10.38005 41.71122,10.381 -4.5e-4,-6e-4 -4.13529,-5.45309 4.14459,-39.11953 5.35491,-21.77281 1.40624,-37.16078 -2.05217,-45.31698 a 27.851731,25.309928 0 0 0 -3.63281,-6.75471 27.851731,25.309928 0 0 0 -38.74027,-6.4662 27.851731,25.309928 0 0 0 -7.11556,35.20472 27.851731,25.309928 0 0 0 -38.74025,-6.46618 z" /><path
|
||||||
|
id="path4-2-6-1"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.50980395;stroke:#ffffff;stroke-width:6.89965;stroke-dasharray:none;stroke-opacity:0.519962"
|
||||||
|
d="m 351.29524,378.32915 a 20.862787,22.283365 87.929759 0 0 -28.94663,11.7882 20.862787,22.283365 87.929759 0 0 -1.50914,6.04125 c -1.09835,7.13663 -1.16134,20.16231 7.28339,36.72931 13.0577,25.61689 10.90177,30.69793 10.90138,30.69882 2.4e-4,-5.6e-4 2.16,-5.08045 30.49632,-15.43688 18.32576,-6.69765 27.84648,-16.23659 32.287,-22.14109 a 20.862787,22.283365 87.929759 0 0 3.33646,-5.36755 20.862787,22.283365 87.929759 0 0 -12.45108,-27.05014 20.862787,22.283365 87.929759 0 0 -28.94664,11.78822 20.862787,22.283365 87.929759 0 0 -12.45106,-27.05014 z" /><path
|
||||||
|
id="path4-2-6-1-5"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.50980395;stroke:#ffffff;stroke-width:6.89965;stroke-dasharray:none;stroke-opacity:0.52156866"
|
||||||
|
d="m 83.024352,249.4105 a 22.283365,20.862787 0 0 0 -29.353581,10.73482 22.283365,20.862787 0 0 0 -1.72639,5.98278 c -1.35544,7.0923 -1.88894,20.10721 5.951801,36.96846 12.12378,26.07187 9.7857,31.07171 9.78528,31.07259 2.6e-4,-5.5e-4 2.34212,-4.99911 31.03406,-14.32513 18.555748,-6.03127 28.414858,-15.22005 33.065768,-20.96029 a 22.283365,20.862787 0 0 0 3.52818,-5.24352 22.283365,20.862787 0 0 0 -11.46577,-27.48227 22.283365,20.862787 0 0 0 -29.353588,10.73483 22.283365,20.862787 0 0 0 -11.46576,-27.48227 z" /><path
|
||||||
|
id="path4-2-6-1-9"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.50980395;stroke:#ffffff;stroke-width:5.01078;stroke-dasharray:none;stroke-opacity:0.519962"
|
||||||
|
d="m 320.97602,291.36362 a 16.625347,14.748181 0 0 0 -21.90036,7.58859 16.625347,14.748181 0 0 0 -1.28804,4.2293 c -1.01128,5.01364 -1.40932,14.21406 4.44057,26.1335 9.0454,18.43055 7.30098,21.965 7.30067,21.96562 2e-4,-3.9e-4 1.74743,-3.53394 23.15415,-10.12663 13.84423,-4.26358 21.19999,-10.75925 24.66998,-14.8171 a 16.625347,14.748181 0 0 0 2.63233,-3.70671 16.625347,14.748181 0 0 0 -8.55447,-19.42758 16.625347,14.748181 0 0 0 -21.90037,7.58859 16.625347,14.748181 0 0 0 -8.55446,-19.42758 z" /><path
|
||||||
|
id="path4-2-6-1-9-8"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.50980395;stroke:#ffffff;stroke-width:4.22313;stroke-dasharray:none;stroke-opacity:0.519962"
|
||||||
|
d="m 416.90426,193.13811 a 12.322476,14.134158 82.30909 0 0 -17.56469,8.83612 12.322476,14.134158 82.30909 0 0 -0.59553,3.65007 c -0.27175,4.26676 0.45709,11.92642 6.76182,21.10665 9.74867,14.19503 8.68847,17.32338 8.68827,17.3239 1.2e-4,-3.3e-4 1.06282,-3.12827 18.32699,-11.08266 11.16516,-5.14424 16.60821,-11.37802 19.06101,-15.14093 a 12.322476,14.134158 82.30909 0 0 1.788,-3.37453 12.322476,14.134158 82.30909 0 0 -9.45059,-15.07737 12.322476,14.134158 82.30909 0 0 -17.5647,8.83612 12.322476,14.134158 82.30909 0 0 -9.45058,-15.07737 z" /><path
|
||||||
|
id="path4-2-6-1-9-8-4"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.50980395;stroke:#ffffff;stroke-width:3.48342;stroke-dasharray:none;stroke-opacity:0.519962"
|
||||||
|
d="m 96.169666,99.754795 a 10.296362,11.508677 62.365085 0 0 -7.330189,13.841365 10.296362,11.508677 62.365085 0 0 1.473186,2.6805 c 2.008889,2.93989 6.437543,7.66269 15.415927,10.84633 13.88288,4.92276 14.77391,7.47086 14.77407,7.4713 -1e-4,-2.8e-4 -0.88925,-2.54921 6.69094,-15.67164 4.90232,-8.48655 5.37758,-15.08279 5.10162,-18.6847 a 10.296362,11.508677 62.365085 0 0 -0.5257,-3.042454 10.296362,11.508677 62.365085 0 0 -14.1348,-5.641051 10.296362,11.508677 62.365085 0 0 -7.33021,13.841385 10.296362,11.508677 62.365085 0 0 -14.134844,-5.641035 z" /><path
|
||||||
|
id="path4-2-6-1-9-8-4-9-2"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.5117;stroke:#ffffff;stroke-width:3.05139;stroke-dasharray:none;stroke-opacity:0.519962"
|
||||||
|
d="m 296.64657,233.26347 a 8.8114666,10.319195 80.445391 0 0 -11.58972,8.06989 8.8114666,10.319195 80.445391 0 0 0.0366,2.62543 c 0.35019,3.02392 1.86017,8.32306 7.60386,14.09672 8.8812,8.92759 8.51432,11.23624 8.51426,11.23663 5e-5,-2.5e-4 0.36876,-2.30885 11.85385,-9.72788 7.4277,-4.79799 10.57103,-9.75243 11.86523,-12.65455 a 8.8114666,10.319195 80.445391 0 0 0.86244,-2.55882 8.8114666,10.319195 80.445391 0 0 -8.77837,-9.57865 8.8114666,10.319195 80.445391 0 0 -11.58975,8.06989 8.8114666,10.319195 80.445391 0 0 -8.77842,-9.57866 z" /><path
|
||||||
|
id="path4-2-6-1-9-8-4-9-2-6"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.5117;stroke:#ffffff;stroke-width:2.49738;stroke-dasharray:none;stroke-opacity:0.519962"
|
||||||
|
d="m 403.95446,91.44744 a 7.0950375,8.5844443 82.142743 0 0 -9.64888,6.492875 7.0950375,8.5844443 82.142743 0 0 0.0305,2.112375 c 0.29155,2.43298 1.54866,6.69657 6.33049,11.34195 7.39392,7.18298 7.08848,9.04046 7.08843,9.04078 4e-5,-2.1e-4 0.307,-1.85765 9.86876,-7.82686 6.18383,-3.86038 8.80077,-7.84663 9.87824,-10.18161 a 7.0950375,8.5844443 82.142743 0 0 0.718,-2.05879 7.0950375,8.5844443 82.142743 0 0 -7.30831,-7.706798 7.0950375,8.5844443 82.142743 0 0 -9.64889,6.492875 7.0950375,8.5844443 82.142743 0 0 -7.30834,-7.706797 z" /><path
|
||||||
|
id="path4-2-6-1-9-8-4-9-5"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.5117;stroke:#ffffff;stroke-width:7.54176;stroke-dasharray:none;stroke-opacity:0.521569"
|
||||||
|
d="m 410.46352,265.86621 a 24.802737,22.39469 2.0523303 0 0 -30.17074,15.95063 24.802737,22.39469 2.0523303 0 0 -0.74427,6.61415 c -0.12337,7.7333 1.79614,21.62064 13.65297,38.28529 18.33368,25.76802 16.72835,31.4347 16.72811,31.43572 1.4e-4,-6.3e-4 1.60998,-5.66652 31.32518,-20.02007 19.21759,-9.28266 28.27643,-20.56192 32.27921,-27.37361 a 24.802737,22.39469 2.0523303 0 0 2.8654,-6.11021 24.802737,22.39469 2.0523303 0 0 -17.88248,-27.36631 24.802737,22.39469 2.0523303 0 0 -30.17081,15.95066 24.802737,22.39469 2.0523303 0 0 -17.88257,-27.36625 z" /><path
|
||||||
|
id="path4-2-6-1-9-8-5"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.50980395;stroke:#ffffff;stroke-width:3.6405;stroke-dasharray:none;stroke-opacity:0.519962"
|
||||||
|
d="m 114.43099,189.33754 a 10.333135,12.525309 79.004057 0 0 -14.00848,9.75499 10.333135,12.525309 79.004057 0 0 0.0547,3.08382 c 0.43602,3.54457 2.28588,9.73496 9.26636,16.38295 10.79359,10.27954 10.35819,13.00063 10.3581,13.00111 6e-5,-3e-4 0.4377,-2.72141 14.32197,-11.70923 8.9793,-5.8126 12.76786,-11.70785 14.32433,-15.14812 a 10.333135,12.525309 79.004057 0 0 1.03481,-3.02677 10.333135,12.525309 79.004057 0 0 -10.67161,-11.04688 10.333135,12.525309 79.004057 0 0 -14.00848,9.75501 10.333135,12.525309 79.004057 0 0 -10.6716,-11.04688 z" /><path
|
||||||
|
id="path4-2-6-1-9-8-4-9-2-2"
|
||||||
|
style="fill:#ffffff;fill-opacity:0.5117;stroke:#ffffff;stroke-width:3.62674;stroke-dasharray:none;stroke-opacity:0.519962"
|
||||||
|
d="m 178.56055,273.32338 a 10.656883,12.053184 66.089768 0 0 -7.97821,14.16205 10.656883,12.053184 66.089768 0 0 1.49012,2.79504 c 2.04675,3.07265 6.5954,8.03049 15.94965,11.48124 14.46412,5.33577 15.34612,7.98353 15.34628,7.98398 -8e-5,-2.8e-4 -0.88012,-2.64887 7.3455,-16.0639 5.31973,-8.67576 5.95524,-15.47956 5.74045,-19.20452 a 10.656883,12.053184 66.089768 0 0 -0.48843,-3.15169 10.656883,12.053184 66.089768 0 0 -14.7135,-6.08217 10.656883,12.053184 66.089768 0 0 -7.97826,14.1621 10.656883,12.053184 66.089768 0 0 -14.71355,-6.08215 z" /></svg>
|
||||||
|
After Width: | Height: | Size: 15 KiB |
1
dist/icon_variations/valentines2026_bgcolor
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
#e48cc9ff
|
||||||
3383
dist/languages/ar.ts
vendored
3474
dist/languages/ca.ts
vendored
3170
dist/languages/cs.ts
vendored
3168
dist/languages/da.ts
vendored
3476
dist/languages/de.ts
vendored
3168
dist/languages/el.ts
vendored
4414
dist/languages/es.ts
vendored
3316
dist/languages/fi.ts
vendored
3248
dist/languages/fr.ts
vendored
3178
dist/languages/hu.ts
vendored
3292
dist/languages/id.ts
vendored
3430
dist/languages/it.ts
vendored
3239
dist/languages/ja_JP.ts
vendored
4742
dist/languages/ko_KR.ts
vendored
4303
dist/languages/nb.ts
vendored
3171
dist/languages/nl.ts
vendored
3202
dist/languages/pl.ts
vendored
3949
dist/languages/pt_BR.ts
vendored
3178
dist/languages/pt_PT.ts
vendored
4980
dist/languages/ru_RU.ts
vendored
3212
dist/languages/sv.ts
vendored
3185
dist/languages/tr_TR.ts
vendored
3294
dist/languages/uk.ts
vendored
3168
dist/languages/vi.ts
vendored
3169
dist/languages/vi_VN.ts
vendored
3260
dist/languages/zh_CN.ts
vendored
3187
dist/languages/zh_TW.ts
vendored
BIN
dist/qt_themes/default/icons/256x256/eden.png
vendored
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 35 KiB |
BIN
dist/qt_themes/default/icons/256x256/eden_named.png
vendored
|
Before Width: | Height: | Size: 52 KiB |
|
|
@ -136,6 +136,16 @@ cmake -S . -B build -G "<GENERATOR>" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COM
|
||||||
<img src="https://user-images.githubusercontent.com/42481638/216899275-d514ec6a-e563-470e-81e2-3e04f0429b68.png" width="500">
|
<img src="https://user-images.githubusercontent.com/42481638/216899275-d514ec6a-e563-470e-81e2-3e04f0429b68.png" width="500">
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
#### Option D: Visual Studio with clang-cl
|
||||||
|
|
||||||
|
<details>
|
||||||
|
1. Install `"x64 Native Tools Command Prompt"` for VS from the installer and also install `cmake-gui`.
|
||||||
|
2. Open `"x64 Native Tools Command Prompt"` and type `cmake-gui`.
|
||||||
|
3. Click configure choose ninja generator > specify native compilers.
|
||||||
|
4. Put `"C:/Program Files/Microsoft Visual Studio/18/Community/VC/Tools/Llvm/x64/bin/clang-cl.exe"` as your C/C++ compiler path.
|
||||||
|
5. Open `Visual studio > Open project` or Solution > Change to search for the CMake project file (`CMakeList.txt`) file on the cloned directory, and then build.
|
||||||
|
</details>
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
If your initial configure failed:
|
If your initial configure failed:
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
src/web_service @AleksandrPopovich
|
src/web_service @AleksandrPopovich
|
||||||
src/dynarmic @Lizzie
|
src/dynarmic @Lizzie
|
||||||
src/core @Lizzie @Maufeat @PavelBARABANOV @MrPurple666 @JPikachu
|
src/core @Lizzie @Maufeat @PavelBARABANOV @MrPurple666 @JPikachu
|
||||||
src/core/hle @Maufeat @PavelBARABANOV @SDK-Chan
|
src/core/hle @Maufeat @PavelBARABANOV
|
||||||
src/core/arm @Lizzie @MrPurple666
|
src/core/arm @Lizzie @MrPurple666
|
||||||
src/*_room @AleksandrPopovich
|
src/*_room @AleksandrPopovich
|
||||||
src/video_core @CamilleLaVey @MaranBr @Wildcard @weakboson
|
src/video_core @CamilleLaVey @MaranBr @Wildcard @weakboson
|
||||||
|
|
|
||||||
41
docs/CPMUtil/AddDependentPackage.md
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
# AddDependentPackage
|
||||||
|
|
||||||
|
Use `AddDependentPackage` when you have multiple packages that are required to all be from the system, OR bundled. This is useful in cases where e.g. versions must absolutely match.
|
||||||
|
|
||||||
|
## Versioning
|
||||||
|
|
||||||
|
Versioning must be handled by the package itself.
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
### Vulkan
|
||||||
|
|
||||||
|
`cpmfile.json`
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"vulkan-headers": {
|
||||||
|
"repo": "KhronosGroup/Vulkan-Headers",
|
||||||
|
"package": "VulkanHeaders",
|
||||||
|
"version": "1.4.317",
|
||||||
|
"hash": "26e0ad8fa34ab65a91ca62ddc54cc4410d209a94f64f2817dcdb8061dc621539a4262eab6387e9b9aa421db3dbf2cf8e2a4b041b696d0d03746bae1f25191272",
|
||||||
|
"git_version": "1.4.342",
|
||||||
|
"tag": "v%VERSION%"
|
||||||
|
},
|
||||||
|
"vulkan-utility-libraries": {
|
||||||
|
"repo": "KhronosGroup/Vulkan-Utility-Libraries",
|
||||||
|
"package": "VulkanUtilityLibraries",
|
||||||
|
"hash": "8147370f964fd82c315d6bb89adeda30186098427bf3efaa641d36282d42a263f31e96e4586bfd7ae0410ff015379c19aa4512ba160630444d3d8553afd1ec14",
|
||||||
|
"git_version": "1.4.342",
|
||||||
|
"tag": "v%VERSION%"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
`CMakeLists.txt`:
|
||||||
|
|
||||||
|
```cmake
|
||||||
|
AddDependentPackages(vulkan-headers vulkan-utility-libraries)
|
||||||
|
```
|
||||||
|
|
||||||
|
If Vulkan Headers are installed, but NOT Vulkan Utility Libraries, then CPMUtil will throw an error.
|
||||||
|
|
@ -31,6 +31,10 @@ The core of CPMUtil is the [`AddPackage`](./AddPackage.md) function. [`AddPackag
|
||||||
|
|
||||||
[`AddJsonPackage`](./AddJsonPackage.md) is the recommended method of usage for CPMUtil.
|
[`AddJsonPackage`](./AddJsonPackage.md) is the recommended method of usage for CPMUtil.
|
||||||
|
|
||||||
|
## AddDependentPackage
|
||||||
|
|
||||||
|
[`AddDependentPackage`](./AddDependentPackage.md) allows you to add multiple packages such that all of them must be from the system OR bundled.
|
||||||
|
|
||||||
## AddQt
|
## AddQt
|
||||||
|
|
||||||
[`AddQt`](./AddQt.md) adds a specific version of Qt to your project.
|
[`AddQt`](./AddQt.md) adds a specific version of Qt to your project.
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@
|
||||||
- [Arch Linux](#arch-linux)
|
- [Arch Linux](#arch-linux)
|
||||||
- [Gentoo Linux](#gentoo-linux)
|
- [Gentoo Linux](#gentoo-linux)
|
||||||
- [macOS](#macos)
|
- [macOS](#macos)
|
||||||
- [Solaris](#solaris)
|
- [OpenIndiana](#openindiana)
|
||||||
|
- [OmniOS](#omnios)
|
||||||
- [HaikuOS](#haikuos)
|
- [HaikuOS](#haikuos)
|
||||||
- [OpenBSD](#openbsd)
|
- [OpenBSD](#openbsd)
|
||||||
- [FreeBSD](#freebsd)
|
- [FreeBSD](#freebsd)
|
||||||
|
|
@ -31,21 +32,21 @@ If you're having issues with building, always consult that ebuild.
|
||||||
|
|
||||||
macOS is largely untested. Expect crashes, significant Vulkan issues, and other fun stuff.
|
macOS is largely untested. Expect crashes, significant Vulkan issues, and other fun stuff.
|
||||||
|
|
||||||
## Solaris
|
## OpenIndiana
|
||||||
|
|
||||||
Always consult [the OpenIndiana package list](https://pkg.openindiana.org/hipster/en/index.shtml) to cross-verify availability.
|
Always consult [the OpenIndiana package list](https://pkg.openindiana.org/hipster/en/index.shtml) to cross-verify availability.
|
||||||
|
|
||||||
Run the usual update + install of essential toolings: `sudo pkg update && sudo pkg install git cmake`.
|
Run the usual update + install of essential toolings: `sudo pkg update && sudo pkg install git cmake`.
|
||||||
|
|
||||||
- **gcc**: `sudo pkg install developer/gcc-14`.
|
- **gcc**: Install either `developer/gcc-14`.
|
||||||
- **clang**: Version 20 is broken, use `sudo pkg install developer/clang-19`.
|
- **clang**: Version 20 is broken, install `developer/clang-19`.
|
||||||
|
|
||||||
Qt Widgets appears to be broken. For now, add `-DENABLE_QT=OFF` to your configure command. In the meantime, a Qt Quick frontend is in the works--check back later!
|
Qt Widgets appears to be broken. For now, add `-DENABLE_QT=OFF` to your configure command. In the meantime, a Qt Quick frontend is in the works--check back later!
|
||||||
|
|
||||||
This is needed for some dependencies that call cc directly (tz):
|
This is needed for some dependencies that call cc directly (tz):
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
echo '#!/bin/sh' >cc
|
echo '#!/bin/sh -e' >cc
|
||||||
echo 'gcc $@' >>cc
|
echo 'gcc $@' >>cc
|
||||||
chmod +x cc
|
chmod +x cc
|
||||||
export PATH="$PATH:$PWD"
|
export PATH="$PATH:$PWD"
|
||||||
|
|
@ -64,9 +65,33 @@ export LIBGL_ALWAYS_SOFTWARE=1
|
||||||
```
|
```
|
||||||
|
|
||||||
- Modify the generated ffmpeg.make (in build dir) if using multiple threads (base system `make` doesn't use `-j4`, so change for `gmake`).
|
- Modify the generated ffmpeg.make (in build dir) if using multiple threads (base system `make` doesn't use `-j4`, so change for `gmake`).
|
||||||
- If using OpenIndiana, due to a bug in SDL2's CMake configuration, audio driver defaults to SunOS `<sys/audioio.h>`, which does not exist on OpenIndiana. Using external or bundled SDL2 may solve this.
|
|
||||||
- System OpenSSL generally does not work. Instead, use `-DYUZU_USE_BUNDLED_OPENSSL=ON` to use a bundled static OpenSSL, or build a system dependency from source.
|
- System OpenSSL generally does not work. Instead, use `-DYUZU_USE_BUNDLED_OPENSSL=ON` to use a bundled static OpenSSL, or build a system dependency from source.
|
||||||
|
|
||||||
|
## OmniOS
|
||||||
|
|
||||||
|
Install `developer/gcc14` on OmniOS using pkgsrc.
|
||||||
|
|
||||||
|
Since so many dependencies are missing on `OmniOS`, you may wish to use `-DCPMUTIL_FORCE_BUNDLED=ON`
|
||||||
|
|
||||||
|
For OmniOS you are required to build glslang yourself:
|
||||||
|
```sh
|
||||||
|
sudo pkg install python-313
|
||||||
|
git clone --depth=1 https://github.com/KhronosGroup/glslang.git
|
||||||
|
cd glslang
|
||||||
|
python3.13 ./update_glslang_sources.py
|
||||||
|
cmake -B build -DCMAKE_BUILD_TYPE=Release
|
||||||
|
cmake --build build -- -j `nproc`
|
||||||
|
cmake --install build
|
||||||
|
```
|
||||||
|
|
||||||
|
It may be tempting to specify `-t glslang`, but this will cause installation to fail. So don't.
|
||||||
|
|
||||||
|
Using `--parallel` on CMake incorrectly passes `dmake ... -jn` instead of `dmake ... -j n`, this is a bug with OmniOS's CMake, and as such it's recommended to not use this option until it's fixed.
|
||||||
|
|
||||||
|
You may also need to install `gmake` in order to properly build FFmpeg, this is provided by the `build-essential` package.
|
||||||
|
|
||||||
|
If it wasn't obvious already, you require a X11 server to properly run the emulator within OmniOS, [this guide](https://web.archive.org/web/20260424200928/https://geekblood.wordpress.com/2017/10/26/installing-x11-and-a-desktop-environment-on-omnios/) is a great starting point for that, the links to pkgsrc are outdated so follow [this exemplar](https://pkgsrc.smartos.org/install-on-illumos/) as well:
|
||||||
|
|
||||||
## HaikuOS
|
## HaikuOS
|
||||||
|
|
||||||
It's recommended to do a `pkgman full-sync` before installing. See [HaikuOS: Installing applications](https://www.haiku-os.org/guides/daily-tasks/install-applications/). Sometimes the process may be interrupted by an error like "Interrupted syscall". Simply firing the command again fixes the issue. By default `g++` is included on the default installation.
|
It's recommended to do a `pkgman full-sync` before installing. See [HaikuOS: Installing applications](https://www.haiku-os.org/guides/daily-tasks/install-applications/). Sometimes the process may be interrupted by an error like "Interrupted syscall". Simply firing the command again fixes the issue. By default `g++` is included on the default installation.
|
||||||
|
|
@ -85,11 +110,13 @@ If you have `quazip1_qt6_devel`, uninstall it. It may call `Core5Compat` on CMak
|
||||||
|
|
||||||
## OpenBSD
|
## OpenBSD
|
||||||
|
|
||||||
|
System boost doesn't have `context` (as of 7.8); so you may need to specify `-DYUZU_USE_CPM=ON -DBoost_FORCE_BUNDLED=ON`.
|
||||||
|
|
||||||
After configuration, you may need to modify `externals/ffmpeg/CMakeFiles/ffmpeg-build/build.make` to use `-j$(nproc)` instead of just `-j`.
|
After configuration, you may need to modify `externals/ffmpeg/CMakeFiles/ffmpeg-build/build.make` to use `-j$(nproc)` instead of just `-j`.
|
||||||
|
|
||||||
`-lc++-experimental` doesn't exist in OpenBSD but the LLVM driver still tries to link against it, to solve just symlink `ln -s /usr/lib/libc++.a /usr/lib/libc++experimental.a`. Builds are currently not working due to lack of `std::jthread` and such, either compile libc++ manually or wait for ports to catch up.
|
`-lc++-experimental` doesn't exist in OpenBSD but the LLVM driver still tries to link against it, to solve just symlink `ln -s /usr/lib/libc++.a /usr/lib/libc++experimental.a`. Builds are currently not working due to lack of `std::jthread` and such, either compile libc++ manually or wait for ports to catch up.
|
||||||
|
|
||||||
If clang has errors, try using `g++-11`.
|
If clang has errors, try using `g++11`.
|
||||||
|
|
||||||
## FreeBSD
|
## FreeBSD
|
||||||
|
|
||||||
|
|
@ -105,6 +132,8 @@ hw.usb.usbhid.enable="0"
|
||||||
|
|
||||||
## NetBSD
|
## NetBSD
|
||||||
|
|
||||||
|
2026-02-07: `vulkan-headers` must not be installed, since the version found in `pkgsrc` is older than required. Either wait for binary packages to update or build newer versions from source.
|
||||||
|
|
||||||
Install `pkgin` if not already `pkg_add pkgin`, see also the general [pkgsrc guide](https://www.netbsd.org/docs/pkgsrc/using.html). For NetBSD 10.1 provide `echo 'PKG_PATH="https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/10.1/All/"' >/etc/pkg_install.conf`. If `pkgin` is taking too much time consider adding the following to `/etc/rc.conf`:
|
Install `pkgin` if not already `pkg_add pkgin`, see also the general [pkgsrc guide](https://www.netbsd.org/docs/pkgsrc/using.html). For NetBSD 10.1 provide `echo 'PKG_PATH="https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/10.1/All/"' >/etc/pkg_install.conf`. If `pkgin` is taking too much time consider adding the following to `/etc/rc.conf`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|
@ -114,7 +143,7 @@ ip6addrctl_policy=ipv4_prefer
|
||||||
|
|
||||||
System provides a default `g++-10` which doesn't support the current C++ codebase; install `clang-19` with `pkgin install clang-19`. Or install `gcc14` (or `gcc15` with current pkgsrc). Provided that, the following CMake commands may work:
|
System provides a default `g++-10` which doesn't support the current C++ codebase; install `clang-19` with `pkgin install clang-19`. Or install `gcc14` (or `gcc15` with current pkgsrc). Provided that, the following CMake commands may work:
|
||||||
|
|
||||||
- `cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -Bbuild`
|
- `cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -Bbuild` (Recommended)
|
||||||
- `cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/pkg/gcc14/bin/gcc -DCMAKE_CXX_COMPILER=/usr/pkg/gcc14/bin/g++ -Bbuild`
|
- `cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/pkg/gcc14/bin/gcc -DCMAKE_CXX_COMPILER=/usr/pkg/gcc14/bin/g++ -Bbuild`
|
||||||
- `cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/pkg/gcc15/bin/gcc -DCMAKE_CXX_COMPILER=/usr/pkg/gcc15/bin/g++ -Bbuild`
|
- `cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/pkg/gcc15/bin/gcc -DCMAKE_CXX_COMPILER=/usr/pkg/gcc15/bin/g++ -Bbuild`
|
||||||
|
|
||||||
|
|
@ -136,8 +165,12 @@ cmake --install build
|
||||||
|
|
||||||
However, pkgsrc is highly recommended, see [getting pkgsrc](https://iso.us.netbsd.org/pub/pkgsrc/current/pkgsrc/doc/pkgsrc.html#getting). You must get `current` not the `2025Q2` version.
|
However, pkgsrc is highly recommended, see [getting pkgsrc](https://iso.us.netbsd.org/pub/pkgsrc/current/pkgsrc/doc/pkgsrc.html#getting). You must get `current` not the `2025Q2` version.
|
||||||
|
|
||||||
|
`QtCore` on NetBSD is included, but due to misconfigurations(!) we MUST include one of the standard headers that include `bits/c++config.h`, since source_location (required by `QtCore`) isn't properly configured to intake `bits/c++config.h` (none of the experimental library is). This is a bug with NetBSD packaging and not our fault, but alas.
|
||||||
|
|
||||||
## DragonFlyBSD
|
## DragonFlyBSD
|
||||||
|
|
||||||
|
2026-02-07: `vulkan-headers` and `vulkan-utility-libraries` must NOT be uninstalled, since they're too old: `1.3.289`. Either wait for binary packages to update or build newer versions from source.
|
||||||
|
|
||||||
If `libstdc++.so.6` is not found (`GLIBCXX_3.4.30`) then attempt:
|
If `libstdc++.so.6` is not found (`GLIBCXX_3.4.30`) then attempt:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|
|
||||||