~/talk

Migrating a multiple-platform game engine to Bazel

Talkat BazelCon 2023 · 2023-10-24..10-25· [game-development]
name:Kai Zhang
links:none on file
slides:none on file

NeoX moves from CMake/Conan to Bazel for Windows, iOS and Android with IDE integration for Visual Studio, Xcode, Android Studio and remote execution; a Python remote worker for Windows and macOS is open sourced. Incremental migration keeps CMake projects working while converting libraries, using Conan’s Bazel generator changed to http_archive for reproducible deps. Compilation databases plus a Python fixer correct include paths; circular deps are worked around with stub headers. Real results: Windows full build 27→4 min, iOS/Android ≈2.5 min.

AI-written summary · about

  1. 0:00Migration journey overview
  2. 1:50Multiplatform build challenges
  3. 3:38Bazel migration milestones
  4. 5:46Hybrid CMake integration
  5. 7:11Third-party dependencies in Bazel
  6. 8:58Include path and circular dependencies
  7. 11:27Linking model adjustments
  8. 13:13IDE integration with Bazel
  9. 14:39Remote caching setup
  10. 16:46Windows cache sharing issues
  11. 19:19Remote execution with Build Farm
  12. 20:50Custom Windows worker
  13. 22:38Remote execution tips
  14. 23:19Future plans and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.