All building and testing is currently handled with build.sh, which is designed to be run on a Linux system with clang. It's not very flexible, so if it doesn't work on your system, do edit it. You can pass it these options, which can be combined:
win- cross-compile for Windowsandroid- cross-compile for Android x86, x86_64, arm, - and arm64 (requires SDK in /usr/lib/android-sdk and NDK in /opt/android-ndk)psp- cross-compile for PSP (must have pspdev installed)wiiu- cross-compile for Wii U (must have devkitpro, devkitppc and wut installed)debug- compile for debugging (has its own build directory)debugger- run with LLDB for linux build, for other platforms this is impossibleclean- don't build, remove object files in this build directorylink- link even if output seems to be up to date- 'buildlua' - rebuild lua even if it seems up to date
- 'buildsoloud' - rebuild soloud even if it seems up to date
test- run after building (for windows, uses wine, for android, connects to an android device with ADB)verbose- print every compiler command run
Example: ./build.sh test - normally testing after making a change in the code
./build.sh debug debugger test - looking into a mysterious segfault
The project uses several required libraries in the ext folder. These are included in the project:
- a modified version of SoLoud with backends added for PSP and Switch
These are downloaded by the build script:
- ffmpeg
- LuaJIT
- Lua 5.4 for platforms that LuaJIT can't build for (PSP)
- texture_atlas