sudo apt install git build-essential cmake autoconf automake libtool pkg-config ruby bison zlib1g-dev libbz2-dev xorg-dev lib32z1 libgl1-mesa-dev libasound2-dev python3-pip libpulse-dev
# Meson from apt is too old, but also be sure not to get one too new
sudo python3 -m pip install meson==0.57.2 ninja==1.10.2
Next, clone mkxp-z's git repository, cd into your platform-specific directory, and run the build script:
git clone https://gitlab.com/mkxp-z/mkxp-z --recursive
cd mkxp-z/windows
make
git clone https://gitlab.com/mkxp-z/mkxp-z --recursive
cd mkxp-z/linux
make
All you should need to do now is build mkxp-z itself.
# Export the variables necessary to find the stuff we built
source vars.sh
# Configure the build
cd ..; meson build
# Build the thing
cd build && ninja
# Copy dependent libraries to the same folder
# for fun and profit
cp ${MKXPZ_PREFIX}/bin/x64-msvcrt-ruby310.dll $PWD
cp /mingw64/bin/zlib1.dll $PWD
# Strip it to save space
strip mkxp-z.exe
# Feast your eyes upon your work
start .
# Export the variables necessary to find the stuff we built
source vars.sh
# Configure the build
cd ..; meson build
# Build the thing
cd build && ninja
# Feast your eyes upon your work
xdg-open .
Packaging (Linux)
You have two options for grouping everything together to distribute: loose files or AppImage.
This will set up the executable to load dependencies from an adjacent lib/lib64 folder, so that it is easier to distribute.
# Set up the build to install everything locally
meson configure --bindir=. --prefix=$PWD/local
# Do the thing
ninja install
# See the thing
xdg-open $PWD/local
This will package everything into an AppImage, making it so that the executable and all of its dependencies are contained within a single file (imagine if you had a completely static executable).
# Mark AppImageTool as executable
chmod +x PATH_TO_APPIMAGETOOL
# I wanna make an AppImage
meson configure --prefix=`mktemp -d` --bindir=usr/bin \
-Dappimage=true -Dappimagekit_path=PATH_TO_APPIMAGETOOL
# Do the thing
ninja install
# See the thing
xdg-open .
Firstly, you need to download . Keep note of where you stored it. Afterwards: