ci: declare all oakengine handle types opaque for Qt metatypes; defer gtest discovery on Windows
- Linux GCC rejects QMetaType instantiation over incomplete types (static_assert(sizeof(T))); Q_DECLARE_OPAQUE_POINTER every opaque OakEngine* handle in the public headers so QList<OakEngineTask*> etc compile - Windows: gtest discovery ran the fresh exe before the DLLs were next to it; use DISCOVERY_MODE PRE_TEST on WIN32 and copy the DLLs for ctest time
This commit is contained in:
@@ -1310,9 +1310,15 @@ oakengine_clip_get_connected_viewer(const OakEngineBlock *clip);
|
||||
}
|
||||
|
||||
// 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.
|
||||
// (e.g. QList<OakEngineBlock*> in TimelinePanel signals); declare the handles
|
||||
// opaque instead of pulling the engine definitions into the public header.
|
||||
Q_DECLARE_OPAQUE_POINTER(OakEngineBlock *)
|
||||
Q_DECLARE_OPAQUE_POINTER(OakEngineClip *)
|
||||
Q_DECLARE_OPAQUE_POINTER(OakEngineMarkerList *)
|
||||
Q_DECLARE_OPAQUE_POINTER(OakEngineMarker *)
|
||||
Q_DECLARE_OPAQUE_POINTER(OakEngineWorkarea *)
|
||||
Q_DECLARE_OPAQUE_POINTER(OakEngineTrack *)
|
||||
Q_DECLARE_OPAQUE_POINTER(OakEngineTrackList *)
|
||||
#endif
|
||||
|
||||
#endif /* OAKENGINE_TIMELINE_H */
|
||||
|
||||
Reference in New Issue
Block a user