ドット絵ツール"Aseprite"をMacでソースコードからビルドします。
はじめに
ドット絵ツールAsepriteはSteamなどで有料販売されていますが、ソースコードは公開されており無料で自分でビルドすることも可能です。
GitHub - aseprite/aseprite: Animated sprite editor & pixel art tool (Windows, macOS, Linux)
今回はそんなAsepriteをソースコードからビルドする過程を記録します。
作業環境はM2 Macです。
- MacBook Air
- チップ: Apple M2
- macOS: Sonoma 14.0
- メモリ: 16 GB
はじめてのドット絵#pixelart #ドット絵 pic.twitter.com/ChAMq6jtJW
— BioErrorLog (@bioerrorlog) July 20, 2024
The English translation of this post is here.
Asepriteをソースコードからビルドする
公式ガイドを参考にやっていきます。
aseprite/INSTALL.md at main · aseprite/aseprite · GitHub
Asepriteのソースコードを取得する
まずはAsepriteのソースコードを取得し、そのディレクトリの中に入っておきます。
git clone --recursive https://github.com/aseprite/aseprite.git cd aseprite
必要ライブラリ
次は必要な依存ライブラリをインストールします。
プラットフォームに関係なく必要なもの:
- CMake (ver 3.16以上)
- Ninja
- Skiaのaseprite-m102ブランチのコンパイルバージョン
macOS特有の依存関係:
- Xcode 13.1 以上
- macOS 11.3 SDK 以上
順に入れていきます。
CMakeとNinjaはbrew installでイントールします。
brew install cmake brew install ninja
Skiaは該当のリリースバイナリを取得して解凍しておきます。
取得対象はOSとアーキテクチャ(Apple Siliconかどうか)によって異なります。 今回はMacのApple Siliconなので、それ用のものを取得しています。 環境が異なる場合は、リリースページから該当のものを見つけ、適宜置き換えてください。
curl -O -L "https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-macOS-Release-arm64.zip" unzip Skia-macOS-Release-arm64.zip -d skia-m102
XcodeとSDKのバージョンは、下記のコマンドで確認できます。
# Xcodeのバージョンを確認する: xcodebuild -version # SDKのバージョンを確認する xcodebuild -showsdks
指定のバージョンを満たしてなければ、バージョンアップしましょう。
コンパイル
Asepriteのコードをコンパイルしていきます。
ここまでの作業で現在、git cloneしてきたAsepriteのソースコードのrootにいます (もしいなければ移動してください)。
# 現在いるところはこんな感じになっているはず $ ls CMakeLists.txt EULA.txt cmake skia-m102 CODEOWNERS INSTALL.md data src CODE_OF_CONDUCT.md README.md docs tests CONTRIBUTING.md Skia-macOS-Release-arm64.zip laf third_party
その場所でbuildディレクトリを作成し、その中に移動します。
以後のビルド処理はこのディレクトリで実行します。
mkdir build cd build
次にcmakeします。 ここはOS、あるいはアーキテクチャ(Apple Siliconかどうか)によって異なる部分です。
今回はMacのApple Siliconなので、それ用のコマンドを用意しました。
他の環境は公式ガイドをご覧ください。
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=../skia-m102 \ -DSKIA_LIBRARY_DIR=../skia-m102/out/Release-arm64 \ -DSKIA_LIBRARY=../skia-m102/out/Release-arm64/libskia.a \ -DPNG_ARM_NEON:STRING=on \ -G Ninja \ ..
cmakeの処理が終わったら、ninjaでコンパイルします
ninja aseprite
この処理が無事終われば、いまいるbuildディレクトリ配下の./bin/asepriteに実行ファイルが出力されているはずです。
Finderからこのファイルをダブルクリックすれば、Asepriteが起動します。


おまけ: Asepriteをアプリケーションとして起動する
ここまでで実行ファイルからAsepriteを起動することはできましたが、Macのアプリケーションとして起動するにはひと工夫必要です。
引き続きbuildディレクトリにいる状態から、下記のようにして/Applications/ディレクトリに.appを格納します。
# Aseprite.app を作成し、必要なファイルをコピー mkdir -p Aseprite.app/Contents cp -r ./bin ./Aseprite.app/Contents/ mv ./Aseprite.app/Contents/bin ./Aseprite.app/Contents/MacOS # この段階でフォルダ構成はこうなっている # $ tree -L 3 Aseprite.app # Aseprite.app # └── Contents # └── MacOS # ├── aseprite # ├── data # └── gen # /Applications に置いておく sudo cp -r ./Aseprite.app /Applications/
これで、ApplicationsフォルダからAseprite.appをダブルクリックすればAsepriteが起動します。
他のアプリ同様、Deckに固定しておくことも可能です。
おわりに
以上、Asepriteをソースコードからビルドしました。
M2 Macでも問題なくビルドできるか少し不安でしたが、上手くいって良かったです。
どなたかの参考になれば幸いです。
[関連記事]