chore: Upgrade opencv-em to 0.2.0 (OpenCV 4.10.0 -> 4.12.0)#63
Merged
Conversation
- Extract shared release coordinates into cmake/OpenCVEm.cmake so WebARKit/CMakeLists.txt and tests/CMakeLists.txt no longer hardcode the version independently. - Add WEBARKIT_SIMD option (default OFF) to opt into the new SIMD-enabled emscripten build shipped in opencv-em 0.2.0. - Pin FetchContent_Declare URLs with SHA256 URL_HASH using digests from GitHub's release API. - Bump CI's emscripten/emsdk Docker tag 3.1.38 -> 3.1.69 to match the emcc version used to build the new opencv-em release.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the pinned
webarkit/opencv-emrelease from0.1.6to0.2.0(OpenCV 4.10.0 -> 4.12.0, emcc 3.1.38 -> 3.1.69) inWebARKit/CMakeLists.txtandtests/CMakeLists.txt.While making the bump, two existing maintainability gaps were fixed alongside it rather than left for later:
WebARKit/CMakeLists.txtandtests/CMakeLists.txteach hardcoded the opencv-em version/URL independently, with no shared source of truth. Extracted both into a newcmake/OpenCVEm.cmakemodule that both filesinclude(), so future bumps touch one place.URL_HASH SHA256=...to eachFetchContent_Declare, using digests pulled directly from GitHub's release API (no extra lookup needed since they were already available).Release 0.2.0 also introduces a new SIMD-enabled emscripten build (
opencv-js-4.12.0-emcc-3.1.69-simd.zip) that didn't exist in 0.1.6. Added aWEBARKIT_SIMDCMake option (defaultOFF) so this can be opted into later without another CMakeLists change; default behavior is unchanged (non-SIMD, matching today).The CI Docker image (
emscripten/emsdk:3.1.38in.github/workflows/test.yml) is bumped to3.1.69in the same change, since it must match the emcc version opencv-em's emscripten build was compiled with.Testing
Verified locally via
cmakeconfigure that all three variant combinations (native / emscripten / emscripten+SIMD) resolve to the exact expected 0.2.0 release URLs and hashes, and that the nativeFetchContentreaches the actual download step against the real URL. Full download + build (native and emscripten/Docker) could not be completed in the local sandbox due to a TLS/network restriction unrelated to this change — CI should exercise the real download and build for both targets.