Instrucciones de construcción de Suika3

Suika3 utiliza completamente el sistema de compilación CMake.

Notas:

  • Requiere CMake 3.22 o posterior
  • Linux: GCC 4.4 o posterior (también se admite Clang)
  • Windows: Visual Studio 2022/2026 o gcc/clang en WSL
  • macOS: se requiere Xcode 8.2.1 o posterior

Linux (Wayland/X11 doble)

Requisitos previos

  • Una máquina Linux con cualquier procesador

En el sistema operativo Debian, Ubuntu o Raspberry Pi:

sudo apt-get install git cmake ninja-build build-essential libasound2-dev libx11-dev libxpm-dev libwayland-dev wayland-protocols libegl1-mesa-dev libegl-dev libgles-dev libwayland-client0 libwayland-egl1 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-x libdecor-0-dev

En RedHat, Rocky Linux, Fedora, etc.:

sudo dnf groupinstall "Development Tools" "Development Libraries"
sudo dnf install patch git cmake ninja-build alsa-lib-devel libX11-devel libXpm-devel wayland-devel wayland-protocols-devel mesa-libEGL-devel alsa-lib-devel gstreamer1.0-devel gstreamer1.0-plugins-base-devel libdecor-devel

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset linux
cmake --build --preset linux

Se creará el archivo de destino build-linux/suika3.

Si desea depurar Suika3 con GDB, puede usar el valor preestablecido linux-debug en lugar de linux.


Linux (solo X11)

Requisitos previos

  • Una máquina Linux con cualquier procesador

En el sistema operativo Debian, Ubuntu o Raspberry Pi:

sudo apt-get install git cmake ninja-build build-essential libasound2-dev libx11-dev libxpm-dev mesa-common-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-x libdecor-0-dev

En RedHat, Rocky Linux, Fedora, etc.:

sudo dnf groupinstall "Development Tools" "Development Libraries"
sudo dnf install patch git cmake ninja-build libX11-devel libXpm-devel alsa-lib-devel mesa-libGL-devel gstreamer1.0-devel gstreamer1.0-plugins-base-devel

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset linux-x11
cmake --build --preset linux-x11

Se creará el archivo de destino build-linux-x11/suika3.

Si desea depurar Suika3 con GDB, puede usar el valor preestablecido linux-x11-debug en lugar de linux-x11.


Linux (Wayland)

Tenga en cuenta que la compatibilidad con Wayland aún es experimental. Es compatible con KDE, pero tiene problemas para mostrar ventanas en GNOME.

Requisitos previos

  • Una máquina Linux con cualquier procesador

En Debian o Ubuntu:

sudo apt-get install git cmake ninja-build build-essential libasound2-dev libwayland-dev wayland-protocols libegl1-mesa-dev libegl-dev libgles-dev libwayland-client0 libwayland-egl1 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-x libdecor-0-dev

En RedHat, Rocky Linux, Fedora, etc.:

sudo dnf groupinstall "Development Tools" "Development Libraries"
sudo dnf install patch git cmake ninja-build wayland-devel wayland-protocols-devel mesa-libEGL-devel alsa-lib-devel gstreamer1.0-devel gstreamer1.0-plugins-base-devel libdecor-devel

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset linux-wayland
cmake --build --preset linux-wayland

Se creará el archivo de destino build-linux-wayland/suika3.

Si desea depurar Suika3 con GDB, puede usar el valor preestablecido linux-wayland-debug en lugar de linux-wayland.


Windows (Visual Studio 2026)

Visual Studio es el entorno de compilación recomendado para Windows y se utiliza para el binario oficial.

Requisitos previos

  • Una PC Windows 11 con procesador Intel, AMD o Arm64
  • Visual Studio 2026 instalado con C/C++ y CMake configurado

Pasos

  • Clonar el repositorio.
  • Abra la raíz de la carpeta del código fuente en Visual Studio.
  • Espere a que se complete la configuración de CMake.
  • Elija el objetivo VS2026 x64 Release.
  • Construir el proyecto.

Se creará el archivo de destino out/build/windows-vs2026-x64-release/suika3.exe.


Windows (WSL2)

Este método utiliza MinGW en WSL2 para crear un archivo exe de Windows. Tenga en cuenta que es posible construir Suika3 usando MinGW, pero no se recomienda debido a los falsos positivos en el software antivirus.

Requisitos previos

  • Una PC Windows 11 con procesador Intel, AMD o Arm64
  • La característica WSL2 instalada
  • Ubuntu o Debian instalado en WSL2
sudo apt-get install cmake ninja-build mingw-w64

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset windows-mingw-x86_64
cmake --build --preset windows-mingw-x86_64

Se creará el archivo de destino build-mingw-x86_64/suika3.exe.


macOS (paquete de aplicaciones)

Este método crea un paquete de aplicaciones para macOS y se utiliza para el binario oficial.

Requisitos previos

  • Una Mac con procesador Apple Silicon o Intel
  • macOS 11 o posterior instalado
  • Xcode instalado

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset macos
cmake --build --preset macos

Se creará el objetivo build-macos/Suika3.app.

Embalaje DMG

Si desea distribuir Suika3 para macOS, debe crear un archivo DMG con firma de código y notificación. Debe tener un certificado Developer ID Application en el llavero e iniciar sesión con una cuenta de desarrollador de Apple en Xcode. Tenga en cuenta que un paquete de aplicación distribuido a través de un archivo zip no puede acceder fuera del paquete de aplicación, por lo que usamos DMG aquí.

cd macos

# Sign the app.
codesign --timestamp --options runtime --entitlements ../resources/macos/macos.entitlements --deep --force --sign "Developer ID Application" Suika3.app

# Notarize the app. (takes some time)
ditto -c -k --sequesterRsrc --keepParent Suika3.app Suika3.zip
xcrun notarytool submit Suika3.zip --apple-id "$APPLE_ID" --team-id "$TEAM_ID" --password "$APP_SECRET" --wait
xcrun stapler staple Suika3.app

# Create a DMG file.
mkdir tmp
cp -Rv Suika3.app tmp/Suika3.app
hdiutil create -fs HFS+ -format UDBZ -srcfolder tmp -volname Suika3 Suika3.dmg

# Sign the DMG file to allow access to files outside the bundle (avoid Gatekeeper issues).
codesign --sign "Developer ID Application" Suika3.dmg

macOS (CLI)

Este método crea una versión de interfaz de línea de comandos (CLI) de Suika3 para macOS. Es útil para depuración y desarrollo, pero no se recomienda para distribución.

Requisitos previos

  • Una Mac con procesador Apple Silicon o Intel
  • macOS 11 o posterior instalado
  • Xcode instalado

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset macos-cli
cmake --build --preset macos-cli

Se creará el objetivo build-macos/Suika3.app.

Si desea depurar Suika3 con LLDB, puede usar el valor preestablecido macos-cli-debug en lugar de macos.


##iOS

Requisitos previos

  • Una Mac con procesador Apple Silicon o Intel
  • macOS 11 o posterior instalado
  • Xcode instalado

Pasos

  • Empaquetar activos en el archivo assets.arc.
  • Descargue el binario oficial y extráigalo.
  • Copie su archivo assets.arc en la carpeta SDK/ios/resources.
  • Abra la carpeta SDK/ios en Xcode.
  • Construir y ejecutar.

Construir desde cero

Si desea construir desde cero, use cmake --preset ios-device o cmake --preset ios-simulator, luego copie el archivo libsuika3.a creado en la carpeta SDK/ios/lib y abra la carpeta SDK/ios en Xcode.


androide

Requisitos previos

  • Android Studio

Pasos

  • Descargue el binario oficial y extráigalo.
  • Copie sus archivos de activos en la carpeta SDK/android/app/src/main/assets.
  • Abra la carpeta SDK/android en Android Studio.

Construir desde cero

Si desea compilar desde cero, use cmake --preset android-arm64, luego copie el archivo libsuika3.so compilado en la carpeta SDK/android/app/src/main/jniLibs/arm64-v8a y abra la carpeta SDK/android en Android Studio.


HarmonyOS SIGUIENTE / OpenHarmony

Requisitos previos

  • OpenHarmony SDK instalado

Pasos

  • Descargue el binario oficial y extráigalo.
  • Copie sus archivos de activos en la carpeta SDK/openharmony/entry/src/main/resources/rawfile.
  • Abra la carpeta SDK/openharmony en DevEco.
  • Construir y ejecutar.

Construir desde cero

Si desea construir desde cero, use cmake --preset openharmony-arm64, luego copie el archivo libsuika3.a creado en la carpeta SDK/openharmony/entry/libs/arm64-v8a, y abra la carpeta SDK/openharmony en DevEco.


Asamblea web

Requisitos previos

  • emsdk instalado. (Cualquier sistema operativo servirá).

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset wasm
cmake --build --preset wasm

Se creará el archivo de destino wasm/index.html.

Pruebas

Para ejecutar la aplicación, coloque su archivo assets.arc en la carpeta wasm.

Después de eso, escriba python -m http.server y abra http://localhost:8000 en una ventana del navegador.

En Windows, puedes usar suika3-web.exe en lugar de python. Ejecuta un pequeño servidor web y abre el navegador automáticamente.


FreeBSD

Requisitos previos

  • Una máquina FreeBSD
  • cmake y ninja instalados.

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset freebsd
cmake --build --preset freebsd

Se creará el archivo de destino build-freebsd/suika3.


##NetBSD

Requisitos previos

  • Una máquina NetBSD
  • cmake y ninja instalados.

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset netbsd
cmake --build --preset netbsd

Se creará el archivo de destino build-netbsd/suika3.


##OpenBSD

Requisitos previos

  • Una máquina OpenBSD
  • cmake y ninja instalados.

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset openbsd
cmake --build --preset openbsd

Se creará el archivo de destino build-openbsd/suika3.


Solaris 11

Requisitos previos

  • Una máquina Solaris 11
  • SunCC, cmake y gmake instalados.
  • cmake debe compilarse mediante código fuente.

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset solaris11
cmake --build --preset solaris11

Se creará el archivo de destino build-solaris11/suika3.


Solaris 10

Requisitos previos

  • Una máquina Solaris 10
  • SunCC, cmake y gmake instalados.
  • cmake debe compilarse mediante código fuente.

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset solaris10
cmake --build --preset solaris10

Se creará el archivo de destino build-solaris10/suika3.


haikus

Requisitos previos

  • Una máquina Haiku
  • gcc, cmake y ninja instalados.

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset haiku
cmake --build --preset haiku

Se creará el archivo de destino build-solaris10/suika3.


Complemento de Unity

Requisitos previos

  • Versión completa de LLVM-22 instalada.

Pasos

Abra la terminal y escriba lo siguiente.

git clone https://github.com/suika3-community/suika3.git
cd suika3
cmake --preset unity-win64
cmake --build --preset unity-win64

Se creará el archivo de destino build-unity-win64/libsuika3.dll.

Nota: Reemplace win64 por uno de switch, ps5 y xbox.

Para utilizar un SDK oficial del proveedor, abra cmake/toolchains/unity-*.cmake y reemplace CMAKE_C_COMPILER, CMAKE_CXX_COMPILER y CMAKE_AR.