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:
@@ -62,11 +62,17 @@ jobs:
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: otio-install
|
||||
key: otio-0.16.0-${{ runner.os }}-v1
|
||||
key: otio-0.16.0-${{ runner.os }}-v2
|
||||
|
||||
- name: Set OTIO location (Unix)
|
||||
if: runner.os != 'Windows'
|
||||
run: echo "OTIO_LOCATION=${PWD}/otio-install" >> "$GITHUB_ENV"
|
||||
run: |
|
||||
echo "OTIO_LOCATION=${PWD}/otio-install" >> "$GITHUB_ENV"
|
||||
# With OTIO_FIND_IMATH=ON the system (brew/apt) Imath must be the
|
||||
# only Imath header set in play; drop any bundled headers a stale
|
||||
# cache entry may have brought back (they collide with the system
|
||||
# include guards and break ImathBox.h).
|
||||
rm -rf "${PWD}/otio-install/include/Imath"
|
||||
|
||||
- name: Build OpenTimelineIO (Unix)
|
||||
if: runner.os != 'Windows' && steps.otio-cache.outputs.cache-hit != 'true'
|
||||
@@ -120,7 +126,7 @@ jobs:
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: otio-install
|
||||
key: otio-0.16.0-${{ runner.os }}-v1
|
||||
key: otio-0.16.0-${{ runner.os }}-v2
|
||||
|
||||
- name: Set OTIO location (Windows)
|
||||
if: runner.os == 'Windows'
|
||||
|
||||
Reference in New Issue
Block a user