# Tools Tools for Eden and other subprojects. ## Third-Party - [CPMUtil Scripts](./cpm) ## Eden - `find-unused-strings.pl`: Find unused strings (for Android XML files). - `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`](https://github.com/svg/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 - [Translation Scripts](./translations)