with-ipp=off #46
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
| name: Build-OpenCV | |
| on: | |
| push: | |
| branches: [ main ] | |
| paths: [ '.github/workflows/opencv.yml' ] | |
| workflow_dispatch: | |
| env: | |
| OPENCV_VERSION: 4.11.0 | |
| OPENCV_CMAKE_ARGS: >- | |
| -D CMAKE_BUILD_TYPE=RELEASE | |
| -D OPENCV_EXTRA_MODULES_PATH="${{ github.workspace }}/opencv_contrib/modules" | |
| -D CMAKE_INSTALL_PREFIX="${{ github.workspace }}/opencv/build/install" | |
| -D BUILD_LIST=core,imgproc,imgcodecs | |
| -D BUILD_PNG=ON | |
| -D BUILD_TIFF=ON | |
| -D ENABLE_CXX11=ON | |
| -D BUILD_SHARED_LIBS=OFF | |
| -D BUILD_EXAMPLES=OFF | |
| -D BUILD_DOCS=OFF | |
| -D BUILD_PERF_TESTS=OFF | |
| -D BUILD_TESTS=OFF | |
| -D BUILD_JAVA=OFF | |
| -D WITH_GSTREAMER=OFF | |
| -D WITH_ADE=OFF | |
| -D WITH_FFMPEG=OFF | |
| -D WITH_V4L=OFF | |
| -D WITH_1394=OFF | |
| -D WITH_GTK=OFF | |
| -D WITH_OPENEXR=OFF | |
| -D WITH_PROTOBUF=OFF | |
| -D WITH_QUIRC=OFF | |
| -D OPENCV_ENABLE_NONFREE=OFF | |
| jobs: | |
| build: | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: ${{ matrix.runs-on }} | |
| strategy: | |
| matrix: | |
| include: | |
| - { os: linux, arch: x64, runs-on: ubuntu-22.04 } | |
| - { os: ubuntu.24.04, arch: x64, runs-on: ubuntu-24.04 } | |
| - { os: linux, arch: arm64, runs-on: ubuntu-22.04-arm } | |
| - { os: ubuntu.24.04, arch: arm64, runs-on: ubuntu-24.04-arm } | |
| - { os: win, arch: x64, runs-on: windows-2022 } | |
| - { os: win11, arch: x64, runs-on: windows-2025 } | |
| - { os: win, arch: arm64, runs-on: windows-11-arm } | |
| - { os: osx, arch: x64, runs-on: macos-13 } | |
| - { os: osx, arch: arm64, runs-on: macos-14 } | |
| - { os: osx.15, arch: arm64, runs-on: macos-15 } | |
| steps: | |
| - name: Install Dependencies | |
| run: | | |
| echo "Installing dependencies..." | |
| # Do nothing now | |
| - name: Checkout OpenCV repo | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: opencv/opencv | |
| ref: ${{ env.OPENCV_VERSION }} | |
| path: opencv | |
| fetch-depth: 1 | |
| - name: Checkout OpenCV Contrib repo | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: opencv/opencv_contrib | |
| ref: ${{ env.OPENCV_VERSION }} | |
| path: opencv_contrib | |
| fetch-depth: 1 | |
| - name: Configure OpenCV | |
| run: | | |
| cd opencv && mkdir build && cd build | |
| if [[ "${{ matrix.os }}" == "win" && "${{ matrix.arch }}" == "arm64" ]]; then | |
| EXTRA_FLAGS="-DCV_ENABLE_INTRINSICS=OFF -DCPU_BASELINE_DISABLE=SSE,SSE2,SSE3,SSSE3,SSE4_1,SSE4_2 -DWITH_IPP=OFF" | |
| EXTRA_FLAGS+=" -A ARM64 -DCMAKE_SYSTEM_PROCESSOR=ARM64" | |
| else | |
| EXTRA_FLAGS="" | |
| fi | |
| cmake ${{ env.OPENCV_CMAKE_ARGS }} $EXTRA_FLAGS .. | |
| - name: Build OpenCV | |
| run: | | |
| cd opencv/build | |
| if [[ "${{ matrix.os }}" =~ ^win ]]; then | |
| cmake --build . --config Release | |
| else | |
| make -j$(nproc) | |
| fi | |
| - name: Install OpenCV | |
| run: | | |
| cd opencv/build | |
| if [[ "${{ matrix.os }}" =~ ^win ]]; then | |
| cmake --install . --config Release | |
| else | |
| make install | |
| fi | |
| - name: Show Build Artifacts | |
| run: | | |
| cd opencv/build && ls -lR | |
| - name: Make artifacts | |
| run: | | |
| mkdir artifacts | |
| cp -r opencv/build/install/* artifacts | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: opencv-${{ matrix.os }}-${{ matrix.arch }} | |
| path: artifacts |