源码编译Aseprite

Aseprite是一款开源的像素绘画工具,官网下载需要花费几十元购买正版,然而自己源码编译则不需要。我使用的系统版本是Ubuntu 18.04 LTS。

克隆代码

首先从github上克隆源码

git clone --recursive https://github.com/aseprite/aseprite.git

确保能够正常的使用github,不然克隆会失败

如果网络不稳定,在克隆子模块(submodule)时中断,可以使用命令继续

git submodule update --init --recursive

安装依赖库

sudo apt-get install -y g++ cmake ninja-build libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev

编译skia

Asprite依赖skia作为图形后端

mkdir $HOME/deps
cd $HOME/deps
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
git clone -b aseprite-m96 https://github.com/aseprite/skia.git
export PATH="${PWD}/depot_tools:${PATH}"
cd skia
python tools/git-sync-deps
gn gen out/Release-x64 --args="is_debug=false is_official_build=true skia_use_system_expat=false skia_use_system_icu=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false skia_use_sfntly=false skia_use_freetype=true skia_use_harfbuzz=true skia_pdf_subset_harfbuzz=true skia_use_system_freetype2=false skia_use_system_harfbuzz=false"
ninja -C out/Release-x64 skia modules

需要能访问googlesource.com,不然这一步很难过去

skia分支名称aseprite-m96对应相应的asprite版本,asprite安装文档中有说明

编译Aseprite

cd aseprite
mkdir build
cd build
cmake \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DLAF_BACKEND=skia \
  -DSKIA_DIR=$HOME/deps/skia \
  -DSKIA_LIBRARY_DIR=$HOME/deps/skia/out/Release-x64 \
  -DSKIA_LIBRARY=$HOME/deps/skia/out/Release-x64/libskia.a \
  -G Ninja \
  ..
ninja aseprite

编译好的软件在bin目录下

参考文档

其他平台可以参考官方文档进行编译

https://github.com/aseprite/aseprite/blob/main/INSTALL.md

https://github.com/aseprite/skia#readme