Platforms
You should be able to compile Aseprite successfully on the following platforms:- Windows 11 + Visual Studio Community 2022 + Windows 11 SDK
- Important: We don’t support MinGW
- macOS 15.2 Sequoia + Xcode 16.3 + macOS 15.4 SDK
- Linux Ubuntu Focal Fossa 20.04 + clang 12
Get the Source Code
You can get the source code downloading aAseprite-v1.x-Source.zip file from the latest Aseprite release:
https://github.com/aseprite/aseprite/releases
Or you can clone the repository and all its submodules using the following command:
Dependencies
To compile Aseprite you will need:- The latest version of CMake
- Ninja build system
- And a compiled version of the
aseprite-m124branch of the Skia library. There are pre-built packages available. You can get some extra information in the laf dependencies page.
Windows Dependencies
- Windows 11 (we don’t support cross-compiling)
- Visual Studio Community 2022 (we don’t support MinGW)
- The Desktop development with C++ item + Windows 10.0.26100.0 SDK from Visual Studio installer
macOS Dependencies
On macOS you will need macOS 15.4 SDK and Xcode 16.3 (older versions might work).Linux Dependencies
You will need the following dependencies on Ubuntu/Debian:Automatic Building
We offer a build script that automates and helps you compile Aseprite following instructions on screen. This will be the preferred method for new users and developers to compile Aseprite. After you get Aseprite code and install its dependencies, you can runbuild.cmd file on Windows by double-clicking it, or build.sh on macOS or Linux by running it from the terminal from the same Aseprite folder.
Manual Building
-
Get Aseprite code, put it in a folder like
C:\aseprite, and create abuilddirectory inside to leave all the files that are result of the compilation process (.exe,.lib,.obj,.a,.o, etc).In this way, if you want to start with a fresh copy of Aseprite source code, you can remove thebuilddirectory and start again. -
Enter in the new directory and execute
cmake:Herecmakeneeds different options depending on your platform. You must check the details for Windows, macOS, and Linux. Somecmakeoptions can be modified using tools likeccmakeorcmake-gui. -
After you have executed and configured
cmake, you have to compile the project: -
When
ninjafinishes the compilation, you can find the executable insideC:\aseprite\build\bin\aseprite.exe.
Windows Details
Open a command prompt window with the VS 2022 tools. For this you can search forx64 Native Tools Command Prompt for VS 2022 in the Start menu, or open a cmd.exe terminal and run:
C:\deps\skia is the directory where Skia was compiled or uncompressed.
MinGW
We don’t support MinGW compiler and it might bring some problems into the compilation process. If you see that the detected C++ compiler by cmake isC:\MinGW\bin\c++.exe or something similar, you have to get rid of MinGW path (C:\MinGW\bin) from the PATH environment variable and run cmake again from scratch, so the Visual Studio C++ compiler (cl.exe) is used instead.
You can define the CMAKE_IGNORE_PATH variable when running cmake for the first time in case that you don’t know or don’t want to modify the PATH variable, e.g.:
macOS Details
Runcmake with the following parameters and then ninja:
$HOME/deps/skia is the directory where Skia was compiled or downloaded. Make sure that CMAKE_OSX_SYSROOT is pointing to the correct SDK directory (in this case /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk), but it could be different in your Mac.
Apple Silicon
If you running macOS on an ARM64/AArch64/Apple Silicon Mac (e.g. M1), you can compile a native ARM64 version of Aseprite following similar steps as above but when we callcmake, we have some differences:
Issues with Retina Displays
If you have a Retina display, check the following issue: https://github.com/aseprite/aseprite/issues/589Linux Details
You can compile Aseprite with gcc or clang. In case that you are using the pre-compiled Skia version, you must use libstdc++ to compile Aseprite:$HOME/deps/skia is the directory where Skia was compiled or uncompressed.
Using Shared Third Party Libraries
If you don’t want to use the embedded code of third party libraries (i.e. to use your installed versions), you can disable static linking configuring eachUSE_SHARED_ option.
After running cmake -G, you can edit build/CMakeCache.txt file, and enable the USE_SHARED_ flag (set its value to ON) of the library that you want to be linked dynamically.
