Skip to content

Latest commit

 

History

History
37 lines (33 loc) · 1.97 KB

HOWTO.md

File metadata and controls

37 lines (33 loc) · 1.97 KB

How To Wrap cimgui

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.

Notes

  • 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 (excepts definitions.json)
    • patch_fix_ifdefs.diff

Steps

  1. Fork and clone! Be sure to clone SwiftImGui recursively by git clone --recursive ...
  2. Before start, try running make lint, make setupEnv, and make build-release
    • If brew install luajit fails, try brew install luajit --HEAD (neovim #13529)
  3. Make new feature branch in SwiftImGui. Example: git checkout -b update-1.82
  4. Update submodule cimgui
    • In 3rdparty/cimgui run git 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 🤔
  5. Commit updated submodule changes
  6. 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
  7. Build and run the demos 🍻
  8. Update the provided backend files if there are major changes in the original backend files
  9. Update README.md and this file
  10. Commit, push, tag, release 🎉