Skip to content

Commit 4f66185

Browse files
authored
Merge pull request #1835 from shimat/refactor_wasm
Refactor wasm CI
2 parents 4b35e9d + 08d4a8d commit 4f66185

2 files changed

Lines changed: 19 additions & 15 deletions

File tree

.github/workflows/wasm.yml

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@ jobs:
5757
id: opencv-cache
5858
uses: actions/cache/restore@v5
5959
with:
60-
path: ${{ github.workspace }}/opencv_wasm/
60+
path: |
61+
${{ github.workspace }}/opencv_wasm/include
62+
${{ github.workspace }}/opencv_wasm/lib
63+
${{ github.workspace }}/opencv_wasm/libopencv.o
6164
key: opencv-${{ env.OPENCV_VERSION }}-wasm-${{ env.EM_VERSION }}
6265

6366
- name: Setup Emscripten cache
@@ -76,10 +79,11 @@ jobs:
7679
run: |
7780
wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip -Oopencv-${OPENCV_VERSION}.zip && unzip opencv-${OPENCV_VERSION}.zip
7881
wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip -Oopencv_contrib-${OPENCV_VERSION}.zip && unzip opencv_contrib-${OPENCV_VERSION}.zip
79-
cd opencv-${OPENCV_VERSION} && mkdir build && cd build
8082
emcmake cmake \
83+
-S opencv-${OPENCV_VERSION} \
84+
-B opencv-${OPENCV_VERSION}/build \
8185
-DCMAKE_BUILD_TYPE=Release \
82-
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-${OPENCV_VERSION}/modules \
86+
-DOPENCV_EXTRA_MODULES_PATH=${GITHUB_WORKSPACE}/opencv_contrib-${OPENCV_VERSION}/modules \
8387
-DBUILD_SHARED_LIBS=OFF \
8488
-DENABLE_CXX11=ON -DBUILD_TESTS=OFF \
8589
-DBUILD_PERF_TESTS=OFF \
@@ -124,32 +128,32 @@ jobs:
124128
-DWITH_IPP=OFF \
125129
-DWITH_LAPACK=OFF \
126130
-DCV_ENABLE_INTRINSICS=OFF \
127-
-DBUILD_opencv_dnn=ON \
128-
..
129-
make -j
130-
make install
131+
-DBUILD_opencv_dnn=ON
132+
cmake --build opencv-${OPENCV_VERSION}/build --parallel $(nproc)
133+
cmake --install opencv-${OPENCV_VERSION}/build
131134
em++ -r -o ${GITHUB_WORKSPACE}/opencv_wasm/libopencv.o \
132135
-Wl,--whole-archive ${GITHUB_WORKSPACE}/opencv_wasm/lib/*.a \
133136
${GITHUB_WORKSPACE}/opencv_wasm/lib/opencv4/3rdparty/*.a
134-
cd ${GITHUB_WORKSPACE}
135137
ls
136138
137139
- name: Save OpenCV cache
138140
if: steps.opencv-cache.outputs.cache-hit != 'true' && github.event_name == 'push' && github.ref == 'refs/heads/main'
139141
uses: actions/cache/save@v5
140142
with:
141-
path: ${{ github.workspace }}/opencv_wasm/
143+
path: |
144+
${{ github.workspace }}/opencv_wasm/include
145+
${{ github.workspace }}/opencv_wasm/lib
146+
${{ github.workspace }}/opencv_wasm/libopencv.o
142147
key: opencv-${{ env.OPENCV_VERSION }}-wasm-${{ env.EM_VERSION }}
143148

144149
- name: Build OpenCvSharpExtern
145150
run: |
146151
ls ${GITHUB_WORKSPACE}/opencv_wasm
147152
echo "-----"
148-
mkdir src/build && cd $_
149-
emcmake cmake -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=${GITHUB_WORKSPACE}/opencv_wasm/lib/cmake/opencv4 -DWASM_LIB=${GITHUB_WORKSPACE}/opencv_wasm/libopencv.o ..
150-
make -j
151-
ls OpenCvSharpExtern
152-
cp OpenCvSharpExtern/libOpenCvSharpExtern.a ${GITHUB_WORKSPACE}/nuget/
153+
emcmake cmake -S src -B src/build -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=${GITHUB_WORKSPACE}/opencv_wasm/lib/cmake/opencv4 -DWASM_LIB=${GITHUB_WORKSPACE}/opencv_wasm/libopencv.o
154+
cmake --build src/build --parallel $(nproc)
155+
ls src/build/OpenCvSharpExtern
156+
cp src/build/OpenCvSharpExtern/libOpenCvSharpExtern.a ${GITHUB_WORKSPACE}/nuget/
153157
154158
- name: Check OpenCvSharpExtern
155159
run: |

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
![opencvsharp](https://socialify.git.ci/shimat/opencvsharp/image?description=1&forks=1&language=1&owner=1&pattern=Plus&stargazers=1&theme=Light)
22

3-
[![Github Actions Windows Status](https://github.com/shimat/opencvsharp/workflows/Windows%20Server%202025/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![Github Actions Ubuntu 22.04 Status](https://github.com/shimat/opencvsharp/workflows/Ubuntu%2022.04/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![Github Actions Ubuntu 24.04 Status](https://github.com/shimat/opencvsharp/workflows/Ubuntu%2024.04/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![GitHub license](https://img.shields.io/github/license/shimat/opencvsharp.svg)](https://github.com/shimat/opencvsharp/blob/master/LICENSE)
3+
[![Github Actions Windows Status](https://github.com/shimat/opencvsharp/workflows/Windows%20Server%202025/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![Github Actions Ubuntu 22.04 Status](https://github.com/shimat/opencvsharp/workflows/Ubuntu%2022.04/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![Github Actions Ubuntu 24.04 Status](https://github.com/shimat/opencvsharp/workflows/Ubuntu%2024.04/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![Github Actions Wasm Status](https://github.com/shimat/opencvsharp/workflows/Wasm/badge.svg)](https://github.com/shimat/opencvsharp/actions) [![GitHub license](https://img.shields.io/github/license/shimat/opencvsharp.svg)](https://github.com/shimat/opencvsharp/blob/master/LICENSE)
44

55
OpenCvSharp is a cross-platform .NET wrapper for OpenCV, providing a rich set of image processing and computer vision functionality. It supports .NET 8+, .NET Standard 2.0/2.1, and .NET Framework 4.6.1+.
66

0 commit comments

Comments
 (0)