eden/tools
crueter 18135424df
[cmake] more modules, general "cleanup" (#3126)
Successor to that old MoltenVK PR. Does a lot of cleanups within root CMakeLists.txt, hands over MoltenVK and VulkanValidationLayers to CPMUtil, and separates out common operations into my modules.

Hopefully reduces the monstrosity that is root CMakeLists.txt. Please test:

- builds on all platforms
- VulkanValidationLayers

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3126
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2025-12-04 06:00:58 +01:00
..
cpm [cmake] more modules, general "cleanup" (#3126) 2025-12-04 06:00:58 +01:00
translations [ci] push sources on every master push (#3007) 2025-11-12 04:38:32 +01:00
windows [tools] MSVC environment loader, POSIX vulkan/MSVC install scripts (#2993) 2025-11-15 17:53:13 +01:00
README.md [tools, hle/kernel] generate condensed version of svc.cpp; move svc_generator.py and generate_converters.py to tools (#2791) 2025-11-07 17:00:53 +01:00
VectorDrawable2Svg.py [android] Android 7.0 support (#2654) 2025-10-14 20:47:17 +02:00
clang-format.sh [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666) 2025-10-05 03:04:53 +02:00
cpm-fetch-all.sh [license-header] refactor: excludes, updating, better logic (#2780) 2025-10-20 02:59:43 +02:00
dtrace-tool.pl [docs, tools] Add 3rd party links, debug and testing guidelines; add extra tools for maintaining strings, rewrite lanczos generator in perl (#2749) 2025-10-20 14:25:03 +02:00
dtrace-tool.sh [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666) 2025-10-05 03:04:53 +02:00
find-unused-strings.sh [ci, tools] working find-unused-strings, android strings CI (#3036) 2025-11-17 15:52:30 +01:00
generate-legacy-icons.sh [ci, tools] working find-unused-strings, android strings CI (#3036) 2025-11-17 15:52:30 +01:00
generate_converters.py [tools, hle/kernel] generate condensed version of svc.cpp; move svc_generator.py and generate_converters.py to tools (#2791) 2025-11-07 17:00:53 +01:00
lanczos-gen.pl [docs, tools] Add 3rd party links, debug and testing guidelines; add extra tools for maintaining strings, rewrite lanczos generator in perl (#2749) 2025-10-20 14:25:03 +02:00
llvmpipe-run.sh [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666) 2025-10-05 03:04:53 +02:00
optimize-assets.sh [ci, tools] working find-unused-strings, android strings CI (#3036) 2025-11-17 15:52:30 +01:00
shellcheck.sh [cmake, tools, docs] Update CPMUtil (#2790) 2025-10-20 03:43:15 +02:00
stale-translations.sh [ci, tools] working find-unused-strings, android strings CI (#3036) 2025-11-17 15:52:30 +01:00
svc_generator.py [hle/kernel] allow primitive tracing of svcs on debug builds (#3005) 2025-11-18 00:17:15 +01:00
unused-strings.sh [tools, android/res] Remove unused strings, update unused-strings.sh to work on POSIX shells (#2879) 2025-10-29 03:26:09 +01:00
update-cpm.sh [cmake, tools, docs] Update CPMUtil (#2790) 2025-10-20 03:43:15 +02:00
update-icons.sh [dist] New adaptive icons (#3034) 2025-11-20 01:18:48 +01:00

README.md

Tools

Tools for Eden and other subprojects.

Third-Party

Eden

  • generate_converters.py: Generates converters for given formats of textures (C++ helper).
  • svc_generator.py: Generates the files src/core/hle/kernel/svc.cpp and src/core/hle/kernel/svc.h based off prototypes.
  • shellcheck.sh: Ensure POSIX compliance (and syntax sanity) for all tools in this directory and subdirectories.
  • llvmpipe-run.sh: Sets environment variables needed to run any command (or Eden) with llvmpipe.
  • optimize-assets.sh: Optimizes PNG assets with OptiPng.
  • update-cpm.sh: Updates CPM.cmake to the latest version.
  • update-icons.sh: Rebuild all icons (macOS, Windows, bitmaps) based on the master SVG file (dist/dev.eden_emu.eden.svg)
    • Also optimizes the master SVG
    • Requires: png2icns (libicns), ImageMagick, svgo
  • dtrace-tool.sh
  • lanczos-gen.pl: Generates constants for the Lanczos filter.
  • clang-format.sh: Runs clang-format on the entire codebase.
    • Requires: clang
  • find-unused-strings.sh: Find any unused strings in the Android app (XML -> Kotlin).

Android

It's recommended to run these scritps after almost any Android change, as they are relatively fast and important both for APK bloat and CI.

  • unused-strings.sh: Finds unused strings in strings.xml files.
  • stale-translations.sh: Finds translated strings that aren't present in the source strings.xml file.

Translations