-
Notifications
You must be signed in to change notification settings - Fork 6
Mac OS
Anthony Samms edited this page Jun 17, 2026
·
2 revisions
xcode-select --installInstall Homebrew if you don't have it, then install the required packages:
brew update
brew install cmake ninja python3 pkg-config git ffmpeg sdl3Optional: Install
ccacheto speed up subsequent builds:brew install ccache
Code generation runs during the CMake configure step and requires python3 to be on your PATH. This is satisfied by the brew install python3 above.
git clone --recurse-submodules https://github.com/Yonokid/YataiDON
cd YataiDONIf you already cloned without submodules:
git submodule update --init --recursivecmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j$(sysctl -n hw.logicalcpu)
cp build/bin/YataiDON ./YataiDONYou can also use the helper script — note it calls nproc which is Linux-specific, so install coreutils first if you want to use it:
brew install coreutils
./build_debug.shcmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(sysctl -n hw.logicalcpu)
cp build/bin/YataiDON ./YataiDONFrom the repo root, the game expects the following directories alongside the binary:
YataiDON ← executable
Skins/
Songs/
shader/
config.toml
Run from the repo root after a build:
./YataiDON-
PortAudio is supplied as a prebuilt static archive (
src/libs/audio/libportaudio-macos.a); no separate installation is needed. -
FFmpeg is resolved via
pkg-config. Ensureffmpegis installed via Homebrew so its.pcfiles are available. - libsndfile and libsamplerate are built from source via FetchContent automatically.
-
LeakSanitizer (
-fsanitize=leak) is not supported by Apple Clang. If a Debug build fails because of it, pass-DCMAKE_CXX_FLAGS="-fsanitize=address -fsanitize=undefined"to CMake to override. - Dependencies fetched by CMake are cached in
.cmake-deps/in the repo root, so subsequent configures are fast. - Release builds use
-flto=autofor link-time optimization. Apple's linker supports this via-flto=thin; if you hit LTO errors, pass-DCMAKE_CXX_FLAGS="-O2 -DNDEBUG"to disable it.
Building
libs
- animation
- audio
- config
- filesystem
- global_data
- input
- logging
- ray
- scores
- screen
- script
- song_parser
- text
- texture
- video
- webcam
libs/parsers
objects
objects/game
- player
- background
- gauge
- judgment
- combo
- branch_indicator
- ending_animations
- gogo_time
- fireworks
- song_info
- transition
- result_transition
- judge_counter
- score_counter
- score_counter_animation
- balloon_counter
- drumroll_counter
- kusudama_counter
- drum_hit_effect
- lane_hit_effect
- gauge_hit_effect
- combo_announce
- note_arc
objects/global
objects/title
objects/entry
objects/settings
objects/result
objects/song_select
- player
- navigator
- box_base
- box_song
- box_folder
- neiro
- modifier
- ura_switch
- diff_sort
- search_box
- dan_transition
- genre_bg
- score_history
- song_select_script
scenes