前言
Aseprite是一种专有的,源可用的图像编辑器,主要用于像素画图和动画。它可以在Windows,macOS,Linux上运行,并具有用于图像何动画编辑的不同工具,例如图层,框架,tilemap支持,命令行界面,Lua脚本等。(原文来自:aseprite维基百科(https://en.wikipedia.org/wiki/Aseprite))。
Aseprite可以在其官网(Aseprite - Animated sprite editor & pixel art tool)购买并下载该软件,售价为$19.90(折合大约¥140~150)。但是官方也对软件代码进行开源(即可以自己编译软件原代码进行白嫖),且官方在其FAQ(Aseprite - Faq)中指出,即使是自行编译版本所产出的作品都可以用于个人或商用。原文:Yes, you can use your own creations (sprites, animations, graphics, assets, etc.) in any product (personal or commercial) you want. Even with compiled versions of Aseprite you can create art for your personal/commercial purposes. (https://www.aseprite.org/faq/#can-i-sell-graphics-created-with-aseprite)
编译流程
准备工作
确保你的mac下载过Xcode
确保版本为Xcode 13.1 + macOS 11.3 SDK (较早版本可能可以使用)
官方git仓库地址:
官方编译教程:https://github.com/aseprite/aseprite/blob/main/INSTALL.mdhttps://github.com/aseprite/aseprite/blob/main/INSTALL.md本文仅适用于macOS操作系统,Windows或Linux系统请查看其他博客或官方教程。
获取原代码
可以前往Releases · aseprite/aseprite · GitHub在Asset中下载Aseprite-v1.x-Source.zip
文件(在这种情况下,请遵循.zip文件中的编译说明)。
或者,使用电脑终端Terminal克隆git仓库,命令如下:
cd
git clone --recursive https://github.com/aseprite/aseprite.git
对现有仓库进行更新,可以执行以下命令:
cd aseprite
git pull
git submodule update --init --recursive
注意:在克隆仓库以后,如果aseprite目录下laf文件夹为空,需要执行上述命令进行更新,否则会编译失败。
配置与依赖
1. CMake
前往CMake官网下载,需要版本3.16或更高
2. Ninja Build System
可以前往Releases · ninja-build/ninja · GitHub下载ninja-mac.zip并解压
或者,使用执行如下命令在系统的包管理器中找到它
brew install ninja
或者,克隆git仓库(可以前往Aseprite官方教程或Ninja官网查看,不推荐使用)
Ninja官网:Ninja, a small build system with a focus on speed
3. Skia
前往Releases · aseprite/skia · GitHub下载对应macOS系统的.zip文件并解压
将解压好的skia放在方便找到的位置,之后将会用到
编译
打开电脑终端Terminal
首先选中aseprite文件夹
cd
cd aseprite
在aseprite目录下创建build文件夹 (如果build文件夹已存在,则不需要再创建)
mkdir build
选中build文件夹
cd build
运行cmake(请先将下方命令复制粘贴到任意文本编辑软件进行相应调整,具体调整内容在下方)
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
-DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk \
-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 \
..
请将所有$HOME/deps/skia替换为之前下载好的skia的目录路径(将skia文件夹直接拖进终端后就会显示它的路径,复制即可)。
例:如果你的mac上skia路径为
/Users/Home/Tools/skia, 则
-DSKIA_DIR=$HOME/deps/skia \ 需要改为 -DSKIA_DIR=/Users/Home/Tools/skia \
(-DSKIA_LIBRARY_DIR和-DSKIA_LIBRARY同理)
确保CMAKE_OSX_SYSROOT指向正确的sdk位置,大部分情况下都是默认路径(默认路径为/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk)
如果你的系统是 ARM64/AArch64/Apple Silicon Mac (e.g., M1),你可以按照上面相同的步骤编译一个原生ARM64版本的Aseprite,但是调用cmake时,有一些不同:
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
-DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk \
-DLAF_BACKEND=skia \
-DSKIA_DIR=$HOME/deps/skia \
-DSKIA_LIBRARY_DIR=$HOME/deps/skia/out/Release-arm64 \
-DSKIA_LIBRARY=$HOME/deps/skia/out/Release-arm64/libskia.a \
-DPNG_ARM_NEON:STRING=on \
-G Ninja \
..
注意:如果已经安装了CMake但是执行后终端依然报错”-bash: cmake: command not found“
camke编译成功后,编译ninja
ninja aseprite
ninja的编译需要等待一段时间,在编译完成后可以双击/aseprite/build/bin/目录下的asperite文件(此文件为Unix可执行文件)即可打开Aseprite并使用。
其他
如果你不想使用第三方库的嵌入式代码(即使用你安装的版本),你可以禁用静态链接配置每个USE_SHARED_选项。
在运行cmake -G之后,你可以编辑build/CMakeCache.txt文件,并启用你想要动态链接的库的USE_SHARED_标志(将其值设置为ON)。