* feat: add iOS support * ios: clean up icon * ci: add ios build * fix(gui): revert asset lookups to use "%s/assets/%s/%s" for macOS * refactor(gui): remove extra `iconv` linkage for iOS * chore(gitignore): remove unused `xcuserdata` and `DerivedData` entries * fix(gui): use provided `LibXML2` in non-vendored builds * fix(ci): add Xcode setup step for iOS build * fix(pipe): prevent relay threads from using freed stack memory * fix(input): replace bitfields with explicit wire packing for touch and gyro data * fix merge issues * fix cmake merge bug * cmake: attempt iOS SDL fix * older ios * feat: add iOS support * ios: clean up icon * ci: add ios build * refactor(gui): remove extra `iconv` linkage for iOS * chore(gitignore): remove unused `xcuserdata` and `DerivedData` entries * fix(ci): add Xcode setup step for iOS build * cmake: attempt iOS SDL fix * older ios * cleanup * build signed macOS app alongside iOS app * cmake: detect ios version and include liquid glass icon if available * ci: upload continuous release * cmake: move more ios code to toolchain * remove ios simulator target * improvements * remove CMakePresets.json * Update ios-toolchain.cmake * move ios folder to gui folder * converge Info.plist templates * update comments and readme * cmake: remove redundant code * remove redundant ios folder * cmake: add comments to cache strings * cmake/ci: maybe fix new apple builds * cmake: fix new ios build * cmake: fix macOS build? --------- Co-authored-by: MattKC <34096995+itsmattkc@users.noreply.github.com>
Docker for building
Since Vanilla's infrastructure can be somewhat complicated (and to aid in auto-building), there are Docker images for all supported platforms.
Usage is as follows for all platforms:
-
First, build the Docker image. We give it the tag
vanilla-build:latestbut you can choose anything. Vanilla's Dockerfiles are designed to be run from the context of the source code root, socdthere and type the following command:docker build -f docker/<platform>/Dockerfile -t vanilla-build:latest . -
Secondly, use the new Docker image to build. Two volumes must be mounted,
/vanillafor the source directory, and/installfor the final compiled file structure. The following paths (~/vanilla-srcand~/vanilla-build) are provided as an example, but you should select paths that make the most sense on your system.docker run -v ~/vanilla-src:/vanilla -v ~/vanilla-build:/install vanilla-build:latest
Docker should succeed, and the end result should be a ready-to-use application.