asepriteをwindows環境で自分でビルドしてみる

# 概要
asepriteというピクセルアートに特化したソフトがsteamでセールが来ていた。

https://store.steampowered.com/app/431730/Aseprite/?l=japanese

ほーんと眺めていると、このソフトはソースコードが公開されており自分でビルドすることができるらしい。

https://github.com/aseprite/aseprite/

試しにビルドしてみました。

この記事はそのメモやまとめです。
すでに設定済みの項目がいくつかある。
試行錯誤しながらやったので、手順として不要かもしれない。**あくまでメモ用。**

# 準備
今回は私の作業環境のwindwosで進めます。
必要なものは以下にまとめられています。

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

## git
私はソースコードのダウンロードはwidonws gitを利用しました。
インストール方法はググるとすぐに出てきます。

インストールさせたらコマンドプロンプトでインストールされていることを確認しましょう。
```winbatch
git --version
```

## Visual Studio Community 2022 + Windows 10.0 SDK
こちらからダウンロードできます

https://visualstudio.microsoft.com/ja/downloads/

以前にVSをインストールしていたので、Visual Studio Insallerを利用して、`Visual Studio Community 2022 + Windows 10.0 SDK`をインストールします。
公式の手順だと以下のように英語です。

https://imgur.com/a/7zs51IT

日本語では`C++ によるデスクトップ開発`にチェックを入れて必要なものをインストールさせてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185852/d5af48c1-c75e-3679-71c9-480bac7af3ae.png)

## CMake
こちらから`Windows x64 Installer:`の最新版をダウンロード。

https://cmake.org/download/

インストールする項目でPATHを通すかどうか聞かれるので忘れずにチェックを入れてください。

## Ninja
こちらから`ninja-win.zip`をダウンロード

https://github.com/ninja-build/ninja/releases

解凍した`ninja.exe`をPATHが通っている場所においてあげます。
私は`C:\ninja\bin`において手動でPATHを通しました。
PATHの通し方は

https://realize.jounin.jp/path.html

を参考にしてください

## skia
こちらからwindows最新版`Skia-Windows-Release-x64.zip`をダウンロードしてください

https://github.com/aseprite/skia/releases

ダウンロード後、解凍し中身をそのまま`C:\deps\skia`に配置してください

## ソースコード
管理者権限でコマンドプロンプトを開き、以下を実行。
ダウンロードする場所はどこでもいいです。
```winbatch
cd %HOMEPATH%

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

cd aseprite
git pull
git submodule update --init --recursive
```

# versionを書き換える
そのままビルドすると以下のようにversionが`v1.x-dev`になるのであらかじめ書き換えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185852/0f49eeab-9736-b1fa-e168-48004f494a8e.png)

コミィティを見ると以下のような回答がありました。
ブランチを別で切っているようですが、別にそこまでする必要がないのでファイルだけ修正します。
(やってみたのですが、サブモジュール関連がややこしくてヤメました)

https://community.aseprite.org/t/what-does-v1-x-dev-version-mean/12299/2

> What I did was to checkout the release tag on GitHub git checkout tags/v1.2.37 -b v1.2.37 and > changed the line src/ver/CMakeLists.txt:5 to specify which the version v1.2.37 manually.

`aseprite/src/ver/CMakeLists.txt`の5行目を修正してあげる。
```
 # Version of Aseprite
-set(VERSION "1.x-dev")
+set(VERSION "1.3.2")
```

これで必要な素材が揃いました。

# ビルド
あとは手順通りにビルドするだけです。

https://github.com/aseprite/aseprite/blob/main/INSTALL.md#windows-details

管理者権限でコマンドプロンプトを開き以下を実行。
```winbatch
call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" -arch=x64
```

さらに以下を実行。
```winbatch
cd aseprite
mkdir build
cd build
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 ..
ninja aseprite
```
完了すると`aseprite\build\bin`以下にexeファイルが作成されるので起動できるかチェックしましょう。

# 日本語化
無事起動できたので日本語化させます。

https://wikiwiki.jp/aseprite/日本語化

# 参考資料
https://moao.hatenablog.com/entry/2023/06/13/205627

http://blawat2015.no-ip.com/~mieki256/diary/202003102.html

https://ojisanndaradara.hatenablog.jp/entry/2022/03/03/213251