1+ name : Build
2+
3+ on :
4+ push :
5+ branches : [ main ]
6+ paths : [ '.github/workflows/opencv.yml' ]
7+ workflow_dispatch :
8+
9+ env :
10+ OPENCV_VERSION : 4.10.0
11+
12+ jobs :
13+ build :
14+ name : Build OpenCV
15+ runs-on : ' ubuntu-latest'
16+
17+ steps :
18+ - name : Install Dependencies
19+ run : |
20+ echo "Installing dependencies..."
21+ # Do nothing now
22+
23+ - name : Checkout OpenCV repo
24+ uses : actions/checkout@v4
25+ with :
26+ repository : opencv/opencv
27+ ref : ${{ env.OPENCV_VERSION }}
28+ path : opencv
29+ fetch-depth : 1
30+
31+ - name : Checkout OpenCV Contrib repo
32+ uses : actions/checkout@v4
33+ with :
34+ repository : opencv/opencv_contrib
35+ ref : ${{ env.OPENCV_VERSION }}
36+ path : opencv_contrib
37+ fetch-depth : 1
38+
39+ - name : Configure OpenCV
40+ run : |
41+ cd opencv && mkdir build && cd build && \
42+ cmake \
43+ -D CMAKE_BUILD_TYPE=RELEASE \
44+ -D OPENCV_EXTRA_MODULES_PATH=${{ github.workspace }}/opencv_contrib/modules \
45+ -D BUILD_SHARED_LIBS=OFF \
46+ -D ENABLE_CXX11=ON \
47+ -D BUILD_EXAMPLES=OFF \
48+ -D BUILD_DOCS=OFF \
49+ -D BUILD_PERF_TESTS=OFF \
50+ -D BUILD_TESTS=OFF \
51+ -D BUILD_JAVA=OFF \
52+ -D BUILD_LIST=core,imgproc,imgcodecs \
53+ -D BUILD_PNG=ON \
54+ -D BUILD_TIFF=ON \
55+ -D WITH_GSTREAMER=OFF \
56+ -D WITH_ADE=OFF \
57+ -D WITH_FFMPEG=OFF \
58+ -D WITH_V4L=OFF \
59+ -D WITH_1394=OFF \
60+ -D WITH_GTK=OFF \
61+ -D WITH_OPENEXR=OFF \
62+ -D WITH_PROTOBUF=OFF \
63+ -D WITH_QUIRC=OFF \
64+ -D OPENCV_ENABLE_NONFREE=ON \
65+ ..
66+
67+ - name : Build OpenCV
68+ run : |
69+ cd opencv/build && make -j$(nproc)
70+
71+ - name : Show Build Artifacts
72+ run : |
73+ cd opencv/build && ls -lR | grep -iE 'libopencv|opencv_.*\.so|opencv_.*\.dll|opencv_.*\.a|opencv_.*\.dylib'
74+
75+ - name : Make artifacts
76+ run : |
77+ mkdir artifacts && cd artifacts
78+ cp ../lib/libopencv*.a .
79+
80+ - name : Upload Artifacts
81+ uses : actions/upload-artifact@v4
82+ with :
83+ name : opencv-linux-x64
84+ path : artifacts
0 commit comments