For the time being it is not possible to wrap cimgui out of the box. This process is not fully automated. Some manual steps are stil neccessary. This file serves more as a reminder to me, so don't expect it to be complete.
- It is not recommended to manually edit these files. They are auto generated after
make update
.3rdparty/cimgui
(git submodule)Sources/CImGui
Sources/ImGui
Sources/AutoWrapper/Assets/definitions.json
- You should update these files if you see new errors after
make update
.Sources/AutoWrapper
(exceptsdefinitions.json
)patch_fix_ifdefs.diff
- Fork and clone! Be sure to clone SwiftImGui recursively by
git clone --recursive ...
- Before start, try running
make lint
,make setupEnv
, andmake build-release
- If
brew install luajit
fails, trybrew install luajit --HEAD
(neovim #13529)
- If
- Make new feature branch in SwiftImGui. Example:
git checkout -b update-1.82
- Update submodule cimgui
- In
3rdparty/cimgui
rungit submodule update --init --recursive
- Make sure it is up to the latest commit in master branch
- Make sure the imgui version inside 3rdparty/cimgui is up to date as well
- You should have a clean workplace after these steps 🤔
- In
- Commit updated submodule changes
- Run
make update
and if you see errors, please try to fix them- For patch fix issues, update
patch_fix_ifdefs.diff
to match the new differences - For unresolved identifiers, you can update
Exceptions.swift
- Re-run
make update
until it does not show errors - Otherwise, open an issue and pull request for help
- For patch fix issues, update
- Build and run the demos 🍻
- Update the provided backend files if there are major changes in the original backend files
- Update
README.md
and this file - Commit, push, tag, release 🎉