├── .gitignore ├── Dockerfile ├── README.md ├── build.bat └── start.bat /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # escape=` 2 | 3 | FROM abrarov/msvc-2022:2.15.0 4 | 5 | COPY build.bat C:\ 6 | 7 | RUN C:\build.bat 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Aseprite :space_invader: Windows :computer: Docker :whale2: Build :gear: 2 | 3 | This repository aims to make the complicated process of compiling [Aseprite](https://github.com/aseprite/aseprite) more simple. 4 | 5 | Consider buying Aseprite to support the devs: https://www.aseprite.org/ 6 | 7 | ## Usage 8 | 9 | Download this repo and run `start.bat`. (this can take >30 minutes) 10 | 11 | Now you should see a folder called `bin/` and in it the Aseprite binaries! 12 | 13 | ### Prerequisites 14 | 15 | - OS: Windows 10 (Version 2004 or newer) Pro/Enterprise 16 | - [Docker Desktop](https://www.docker.com/products/docker-desktop/) 17 | - **Use Windows containers**: Right click on the Docker tray icon -> Switch to Windows containers... 18 | - At least 30GB of free disk space 19 | 20 | ## Remarks 21 | 22 | - The docker image is based on [abrarov/msvc-2022:2.15.0](https://hub.docker.com/r/abrarov/msvc-2022) which includes... 23 | - Visual Studio Community 2022 24 | - cmake v3.24.1 25 | - Ninja v1.11.0 26 | 27 | ## Troubleshooting 28 | 29 | ### Error: Unable to find image 'eddex/aseprite:latest' locally 30 | 31 | - Make sure you have enought free disk space (>30GB) 32 | - Make sure you're using Windows containers 33 | 34 | ### Supported Windows editions 35 | 36 | - Windows 10 Profesional & Enterprise 37 | - Windows 11 Pro & Enterprise 38 | - Windows 10/11 Home can't be used, see [Windows Container System Requirements](https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/system-requirements#operating-system-requirements) 39 | -------------------------------------------------------------------------------- /build.bat: -------------------------------------------------------------------------------- 1 | echo "download skia binaries" 2 | cd C:\ 3 | mkdir deps 4 | cd deps 5 | mkdir skia 6 | cd skia 7 | powershell -command "wget -UseBasicParsing -OutFile skia.zip https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-Windows-Release-x64.zip" 8 | powershell -command "Expand-Archive -Path .\skia.zip -DestinationPath ." 9 | 10 | echo "switch to VS dev cmd" 11 | call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\VsDevCmd.bat" -arch=x64 12 | 13 | echo "build aseprite" 14 | cd C:\ 15 | git clone --recursive https://github.com/aseprite/aseprite.git 16 | cd aseprite 17 | git fetch --tags 18 | git pull 19 | git checkout v1.3.9 20 | git submodule update --init --recursive 21 | mkdir build 22 | cd build 23 | cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=C:\deps\skia -DSKIA_LIBRARY_DIR=C:\deps\skia\out\Release-x64 -DSKIA_LIBRARY=C:\deps\skia\out\Release-x64\skia.lib -G Ninja .. 24 | ninja aseprite 25 | -------------------------------------------------------------------------------- /start.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Building Aseprite using Docker 3 | docker build -t eddex/aseprite . 4 | 5 | echo Copy Aseprite from Docker container 6 | docker run -d --name aseprite eddex/aseprite cmd 7 | docker stop aseprite 8 | docker cp aseprite:aseprite\build\bin . 9 | docker rm aseprite 10 | docker rmi eddex/aseprite 11 | 12 | echo Done --------------------------------------------------------------------------------