aboutsummaryrefslogtreecommitdiff
path: root/docs/scripts
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2025-09-18 02:37:02 +0200
committercrueter <crueter@eden-emu.dev>2025-09-18 02:37:02 +0200
commite1ffeec21211f2fc3a255172aced9c51d659b896 (patch)
treec98bf7056f3778ccc950f87477ed4ef827ba7663 /docs/scripts
parent249e006667966b7709b74709a801c46714aecec1 (diff)
[docs] refactor: full rewrite, generalization + dedup (#488)
"docs but awesome" Combines most of the stuff that was repeated thrice over verbatim into a single common Build Instructions page, with additional caveats marked elsewhere. Prettifies some stuff too because why not. cc: @Lizzie @DraVee @MaranBr @SDK-Chan Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/488 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'docs/scripts')
-rw-r--r--docs/scripts/Linux.md31
-rw-r--r--docs/scripts/Windows.md29
2 files changed, 60 insertions, 0 deletions
diff --git a/docs/scripts/Linux.md b/docs/scripts/Linux.md
new file mode 100644
index 0000000000..8b18e41ced
--- /dev/null
+++ b/docs/scripts/Linux.md
@@ -0,0 +1,31 @@
+# Linux Build Scripts
+
+* Provided script: `.ci/linux/build.sh`
+* Must specify arch target, e.g.: `.ci/linux/build.sh amd64`
+* Valid targets:
+ * `native`: Optimize to your native host architecture
+ * `legacy`: x86\_64 generic, only needed for CPUs older than 2013 or so
+ * `amd64`: x86\_64-v3, for CPUs newer than 2013 or so
+ * `steamdeck` / `zen2`: For Steam Deck or Zen >= 2 AMD CPUs (untested on Intel)
+ * `rog-ally` / `allyx` / `zen4`: For ROG Ally X or Zen >= 4 AMD CPUs (untested on Intel)
+ * `aarch64`: For armv8-a CPUs, older than mid-2021 or so
+ * `armv9`: For armv9-a CPUs, newer than mid-2021 or so
+* Extra CMake flags go after the arch target.
+
+### Environment Variables
+
+* `NPROC`: Number of compilation threads (default: all cores)
+* `TARGET`: Set `appimage` to disable standalone `eden-cli` and `eden-room`
+* `BUILD_TYPE`: Build type (default: `Release`)
+
+Boolean flags (set `true` to enable, `false` to disable):
+
+* `DEVEL` (default `FALSE`): Disable Qt update checker
+* `USE_WEBENGINE` (default `FALSE`): Enable Qt WebEngine
+* `USE_MULTIMEDIA` (default `FALSE`): Enable Qt Multimedia
+
+* AppImage packaging script: `.ci/linux/package.sh`
+
+ * Accepts same arch targets as build script
+ * Use `DEVEL=true` to rename app to `Eden Nightly`
+ * This should generally not be used unless in a tailor-made packaging environment (e.g. Actions/CI) \ No newline at end of file
diff --git a/docs/scripts/Windows.md b/docs/scripts/Windows.md
new file mode 100644
index 0000000000..e60c2119a2
--- /dev/null
+++ b/docs/scripts/Windows.md
@@ -0,0 +1,29 @@
+# Windows Build Scripts
+
+* A convenience script for building is provided in `.ci/windows/build.sh`.
+* You must run this with Bash, e.g. Git Bash or the MinGW TTY.
+* To use this script, you must have `windeployqt` installed (usually bundled with Qt) and set the `WINDEPLOYQT` environment variable to its canonical Bash location:
+ * `WINDEPLOYQT="/c/Qt/6.9.1/msvc2022_64/bin/windeployqt6.exe" .ci/windows/build.sh`.
+* You can use `aqtinstall`, more info on <https://github.com/miurahr/aqtinstall> and <https://ddalcino.github.io/aqt-list-server/>
+
+
+* Extra CMake flags should be placed in the arguments of the script.
+
+#### Additional environment variables can be used to control building:
+
+* `BUILD_TYPE` (default `Release`): Sets the build type to use.
+
+* The following environment variables are boolean flags. Set to `true` to enable or `false` to disable:
+
+ * `DEVEL` (default FALSE): Disable Qt update checker
+ * `USE_WEBENGINE` (default FALSE): Enable Qt WebEngine
+ * `USE_MULTIMEDIA` (default FALSE): Enable Qt Multimedia
+ * `BUNDLE_QT` (default FALSE): Use bundled Qt
+
+ * Note that using **system Qt** requires you to include the Qt CMake directory in `CMAKE_PREFIX_PATH`
+ * `.ci/windows/build.sh -DCMAKE_PREFIX_PATH=C:/Qt/6.9.0/msvc2022_64/lib/cmake/Qt6`
+
+* After building, a zip can be packaged via `.ci/windows/package.sh`. You must have 7-zip installed and in your PATH.
+ * The resulting zip will be placed into `artifacts` in the source directory.
+
+