ci: fix three platform-specific build failures

- Linux: Qt6 metatype static_assert requires complete types; declare
  OakEngineBlock with Q_DECLARE_OPAQUE_POINTER in the public header
  (outside extern "C")
- Windows: gtest discovery runs the freshly linked test exe at build
  time and it cannot find the DLLs (0xc0000135); copy oakcore/oakengine/
  ffmpeg_bridge DLLs next to the test binaries on WIN32
- macOS: Imath header mixing between otio-install's stale bundled Imath
  and Homebrew's Imath broke ImathBox.h (V2h undeclared); bump the OTIO
  cache to v2 and drop bundled Imath headers so the system one is the
  only set in play
This commit is contained in:
2026-08-02 16:24:16 +08:00
parent 5f8232a594
commit d57c812fa6
4 changed files with 32 additions and 3 deletions
+5
View File
@@ -1308,6 +1308,11 @@ oakengine_clip_get_connected_viewer(const OakEngineBlock *clip);
#ifdef __cplusplus
}
// Qt6 on some toolchains requires complete types in meta-type instantiations
// (e.g. QList<OakEngineBlock*> in TimelinePanel signals); declare the handle
// opaque instead of pulling the engine definition into the public header.
Q_DECLARE_OPAQUE_POINTER(OakEngineBlock *)
#endif
#endif /* OAKENGINE_TIMELINE_H */