Skip to content

Commit ba89750

Browse files
authored
update to opencv 4.12.0 (#204)
* drop OpenCV-Linux.cmake
1 parent 1f35291 commit ba89750

15 files changed

+775
-381
lines changed

.github/workflows/release.yml

Lines changed: 61 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ jobs:
160160
zip -9 -r opencv-mobile-${{ env.opencv-version }}.zip opencv-mobile-${{ env.opencv-version }}
161161
- name: opencv4-source
162162
env:
163-
opencv-version: 4.11.0
163+
opencv-version: 4.12.0
164164
run: |
165165
wget -q https://github.com/opencv/opencv/archive/${{ env.opencv-version }}.zip -O opencv-${{ env.opencv-version }}.zip
166166
unzip -q opencv-${{ env.opencv-version }}.zip
@@ -169,6 +169,8 @@ jobs:
169169
truncate -s 0 cmake/OpenCVFindLibsGrfmt.cmake
170170
rm -rf modules/gapi
171171
172+
truncate -s 0 cmake/platforms/OpenCV-Linux.cmake
173+
172174
rm modules/core/src/cuda_*
173175
rm modules/core/src/direct*
174176
rm modules/core/src/gl_*
@@ -219,9 +221,7 @@ jobs:
219221
patch -p1 -i ../patches/opencv-${{ env.opencv-version }}-drawing-mono-font.patch
220222
rm -rf modules/highgui
221223
cp -r ../highgui modules/
222-
mv 3rdparty/kleidicv .
223-
rm -rf 3rdparty/*
224-
mv kleidicv 3rdparty/
224+
rm -rf 3rdparty
225225
rm -rf apps data doc samples platforms
226226
rm -rf modules/java
227227
rm -rf modules/js
@@ -247,15 +247,15 @@ jobs:
247247
- name: upload-opencv4-source
248248
uses: actions/upload-artifact@v4
249249
with:
250-
name: opencv-mobile-4.11.0-source
251-
path: opencv-mobile-4.11.0.zip
250+
name: opencv-mobile-4.12.0-source
251+
path: opencv-mobile-4.12.0.zip
252252

253253
android:
254254
needs: [setup]
255255
runs-on: ubuntu-latest
256256
strategy:
257257
matrix:
258-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
258+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
259259
env:
260260
COMMON_CMAKE_OPTIONS: |
261261
-DCMAKE_POLICY_DEFAULT_CMP0057=NEW \
@@ -357,7 +357,7 @@ jobs:
357357
runs-on: ubuntu-latest
358358
strategy:
359359
matrix:
360-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
360+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
361361
env:
362362
OHOS_NDK_CMAKE: $GITHUB_WORKSPACE/ohos-sdk/linux/native/build-tools/cmake/bin/cmake
363363
COMMON_CMAKE_OPTIONS: |
@@ -418,7 +418,7 @@ jobs:
418418
if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20'
419419
run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV
420420
- name: set-opencv-dir
421-
if: matrix.opencv-version == '4.11.0'
421+
if: matrix.opencv-version == '4.12.0'
422422
run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV
423423
- name: test-armeabi-v7a
424424
run: |
@@ -452,7 +452,7 @@ jobs:
452452
runs-on: macos-13
453453
strategy:
454454
matrix:
455-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
455+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
456456
env:
457457
COMMON_CMAKE_OPTIONS: |
458458
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -524,7 +524,7 @@ jobs:
524524
runs-on: macos-13
525525
strategy:
526526
matrix:
527-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
527+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
528528
env:
529529
COMMON_CMAKE_OPTIONS: |
530530
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -606,7 +606,7 @@ jobs:
606606
runs-on: ubuntu-latest
607607
strategy:
608608
matrix:
609-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
609+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
610610
env:
611611
COMMON_CMAKE_OPTIONS: |
612612
-DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" \
@@ -666,7 +666,7 @@ jobs:
666666
if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20'
667667
run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV
668668
- name: set-opencv-dir
669-
if: matrix.opencv-version == '4.11.0'
669+
if: matrix.opencv-version == '4.12.0'
670670
run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV
671671
- name: test-arm-linux-gnueabi
672672
run: |
@@ -700,7 +700,7 @@ jobs:
700700
runs-on: macos-13
701701
strategy:
702702
matrix:
703-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
703+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
704704
env:
705705
COMMON_CMAKE_OPTIONS: |
706706
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -786,7 +786,7 @@ jobs:
786786
runs-on: macos-13
787787
strategy:
788788
matrix:
789-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
789+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
790790
env:
791791
COMMON_CMAKE_OPTIONS: |
792792
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -868,7 +868,7 @@ jobs:
868868
runs-on: macos-13
869869
strategy:
870870
matrix:
871-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
871+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
872872
env:
873873
COMMON_CMAKE_OPTIONS: |
874874
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -950,7 +950,7 @@ jobs:
950950
runs-on: macos-13
951951
strategy:
952952
matrix:
953-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
953+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
954954
env:
955955
COMMON_CMAKE_OPTIONS: |
956956
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -1032,7 +1032,7 @@ jobs:
10321032
runs-on: macos-13
10331033
strategy:
10341034
matrix:
1035-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
1035+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
10361036
env:
10371037
COMMON_CMAKE_OPTIONS: |
10381038
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -1114,7 +1114,7 @@ jobs:
11141114
runs-on: macos-13
11151115
strategy:
11161116
matrix:
1117-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
1117+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
11181118
env:
11191119
COMMON_CMAKE_OPTIONS: |
11201120
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -1196,7 +1196,7 @@ jobs:
11961196
runs-on: macos-13
11971197
strategy:
11981198
matrix:
1199-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
1199+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
12001200
env:
12011201
COMMON_CMAKE_OPTIONS: |
12021202
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -1268,7 +1268,7 @@ jobs:
12681268
runs-on: macos-13
12691269
strategy:
12701270
matrix:
1271-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
1271+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
12721272
env:
12731273
COMMON_CMAKE_OPTIONS: |
12741274
-DCMAKE_TOOLCHAIN_FILE=../../toolchains/ios.toolchain.cmake \
@@ -1349,23 +1349,18 @@ jobs:
13491349
needs: [setup]
13501350
strategy:
13511351
matrix:
1352-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
1352+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
13531353
os-compiler:
1354-
- { msvc-version: vs2015, windows-version: 2019, toolset-version: v140 }
1355-
- { msvc-version: vs2017, windows-version: 2019, toolset-version: v141 }
1356-
- { msvc-version: vs2019, windows-version: 2019, toolset-version: v142 }
1354+
- { msvc-version: vs2015, windows-version: 2022, toolset-version: v140 }
1355+
- { msvc-version: vs2017, windows-version: 2022, toolset-version: v141 }
1356+
- { msvc-version: vs2019, windows-version: 2022, toolset-version: v142 }
13571357
- { msvc-version: vs2022, windows-version: 2022, toolset-version: v143 }
13581358
runs-on: windows-${{ matrix.os-compiler.windows-version }}
13591359
env:
13601360
UseMultiToolTask: true
13611361
COMMON_CMAKE_OPTIONS: -T ${{ matrix.os-compiler.toolset-version }},host=x64 -DCMAKE_INSTALL_PREFIX=install
13621362
steps:
13631363
- uses: actions/checkout@v4
1364-
- name: patch-windows-sdk
1365-
if: matrix.os-compiler.msvc-version == 'vs2022'
1366-
run: |
1367-
cd "C:\Program Files (x86)"
1368-
& "C:\Program Files\Git\usr\bin\patch.exe" -p0 -i $env:GITHUB_WORKSPACE\fix-windows-sdk-26100-arm64-wchar.patch
13691364
- uses: actions/download-artifact@v4
13701365
with:
13711366
name: opencv-mobile-${{ matrix.opencv-version }}-source
@@ -1374,6 +1369,27 @@ jobs:
13741369
unzip -q opencv-mobile-${{ matrix.opencv-version }}.zip
13751370
echo "SOURCE_DIR=opencv-mobile-${{ matrix.opencv-version }}" >> $env:GITHUB_ENV
13761371
echo "PACKAGE_NAME=opencv-mobile-${{ matrix.opencv-version }}-windows-${{ matrix.os-compiler.msvc-version }}" >> $env:GITHUB_ENV
1372+
1373+
- name: Install and Setup VS 2015 (v140) Build Tools
1374+
if: matrix.os-compiler.msvc-version == 'vs2015'
1375+
run: |
1376+
$vs140Path = "C:/vs140_build_tools"
1377+
Invoke-WebRequest -Uri "https://aka.ms/vs/15/release/vs_buildtools.exe" -OutFile vs_buildtools.exe
1378+
Start-Process -FilePath "vs_buildtools.exe" -ArgumentList "--installPath `"$vs140Path`" --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.140 --quiet --wait --norestart --nocache" -Wait
1379+
$vcvarsPath = (Get-ChildItem -Path $vs140Path -Filter "vcvars64.bat" -Recurse | Select-Object -First 1).FullName
1380+
$cmd = "`"$vcvarsPath`" && powershell -Command `"`$env:PATH;`$env:INCLUDE;`$env:LIB`""
1381+
$output = cmd.exe /c $cmd
1382+
$lines = $output -split "`r`n"
1383+
echo "PATH=$($lines[0]);$($env:PATH)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
1384+
echo "INCLUDE=$($lines[1])" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
1385+
echo "LIB=$($lines[2])" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
1386+
1387+
- name: Install VS 2017 (v141) Build Tools
1388+
if: matrix.os-compiler.msvc-version == 'vs2017'
1389+
run: |
1390+
$vsInstallPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath
1391+
Start-Process -FilePath "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe" -ArgumentList "modify --installPath `"$vsInstallPath`" --add Microsoft.VisualStudio.Component.VC.v141.x86.x64 --quiet --norestart --nocache" -Wait
1392+
13771393
- name: build-x86
13781394
run: |
13791395
cd ${{ env.SOURCE_DIR }}
@@ -1393,7 +1409,7 @@ jobs:
13931409
run: |
13941410
cd ${{ env.SOURCE_DIR }}
13951411
mkdir build-arm64; cd build-arm64
1396-
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A arm64 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=ARM64 $(type ../options.txt) -DBUILD_opencv_world=OFF ..
1412+
cmake ${{ env.COMMON_CMAKE_OPTIONS }} -A arm64 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=ARM64 -DCMAKE_WINDOWS_KITS_10_DIR="C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0" -DCMAKE_SYSTEM_VERSION="10.0.22621.0" $(type ../options.txt) -DBUILD_opencv_world=OFF ..
13971413
cmake --build . --config Release -j 4
13981414
cmake --build . --config Release --target install
13991415
- name: package
@@ -1445,7 +1461,7 @@ jobs:
14451461
needs: [setup]
14461462
strategy:
14471463
matrix:
1448-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
1464+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
14491465
os-ubuntu:
14501466
- { ubuntu-id: 2204, ubuntu-version: 22.04 }
14511467
- { ubuntu-id: 2404, ubuntu-version: 24.04 }
@@ -1480,7 +1496,7 @@ jobs:
14801496
if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20'
14811497
run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV
14821498
- name: set-opencv-dir
1483-
if: matrix.opencv-version == '4.11.0'
1499+
if: matrix.opencv-version == '4.12.0'
14841500
run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV
14851501
- name: test
14861502
run: |
@@ -1499,7 +1515,7 @@ jobs:
14991515
runs-on: ubuntu-latest
15001516
strategy:
15011517
matrix:
1502-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
1518+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
15031519
env:
15041520
COMMON_CMAKE_OPTIONS: |
15051521
-DCMAKE_TOOLCHAIN_FILE=../emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake \
@@ -1585,7 +1601,7 @@ jobs:
15851601
if: matrix.opencv-version == '2.4.13.7' || matrix.opencv-version == '3.4.20'
15861602
run: echo "OPENCV_SUBDIR=share/OpenCV" >> $GITHUB_ENV
15871603
- name: set-opencv-dir
1588-
if: matrix.opencv-version == '4.11.0'
1604+
if: matrix.opencv-version == '4.12.0'
15891605
run: echo "OPENCV_SUBDIR=lib/cmake/opencv4" >> $GITHUB_ENV
15901606
- name: test
15911607
run: |
@@ -1634,7 +1650,7 @@ jobs:
16341650
runs-on: macos-13
16351651
strategy:
16361652
matrix:
1637-
opencv-version: [2.4.13.7, 3.4.20, 4.11.0]
1653+
opencv-version: [2.4.13.7, 3.4.20, 4.12.0]
16381654
steps:
16391655
- run: sudo xcode-select --switch /Applications/Xcode_15.2.app
16401656
- uses: actions/checkout@v4
@@ -1834,8 +1850,8 @@ jobs:
18341850
single-core: true
18351851
cmake-toolchain: arm-openwrt-linux-muslgnueabi.toolchain.cmake
18361852
setup-toolchain-cmd: |
1837-
wget -q https://github.com/YuzukiHD/Yuzukilizard/releases/download/Toolchains/toolchain-sunxi-musl-gcc-830.tar.gz
1838-
tar -xf toolchain-sunxi-musl-gcc-830.tar.gz
1853+
wget -q https://github.com/YuzukiHD/sunxi-bsp-toolchains/releases/download/1.0.0/toolchain-sunxi-musl-arm-gcc-830.tar.gz
1854+
tar -xf toolchain-sunxi-musl-arm-gcc-830.tar.gz
18391855
setup-env-cmd: |
18401856
export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/toolchain-sunxi-musl-gcc-830/toolchain
18411857
export STAGING_DIR=$GITHUB_WORKSPACE/toolchain-sunxi-musl-gcc-830/toolchain
@@ -1848,8 +1864,8 @@ jobs:
18481864
single-core: true
18491865
cmake-toolchain: arm-openwrt-linux-muslgnueabi.toolchain.cmake
18501866
setup-toolchain-cmd: |
1851-
wget -q https://github.com/YuzukiHD/Yuzukilizard/releases/download/Toolchains/toolchain-sunxi-musl-gcc-830.tar.gz
1852-
tar -xf toolchain-sunxi-musl-gcc-830.tar.gz
1867+
wget -q https://github.com/YuzukiHD/sunxi-bsp-toolchains/releases/download/1.0.0/toolchain-sunxi-musl-arm-gcc-830.tar.gz
1868+
tar -xf toolchain-sunxi-musl-arm-gcc-830.tar.gz
18531869
setup-env-cmd: |
18541870
export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/toolchain-sunxi-musl-gcc-830/toolchain
18551871
export STAGING_DIR=$GITHUB_WORKSPACE/toolchain-sunxi-musl-gcc-830/toolchain
@@ -1946,20 +1962,20 @@ jobs:
19461962
- uses: actions/checkout@v4
19471963
- uses: actions/download-artifact@v4
19481964
with:
1949-
name: opencv-mobile-4.11.0-source
1965+
name: opencv-mobile-4.12.0-source
19501966
- name: setup-toolchain
19511967
run: ${{ matrix.setup-toolchain-cmd }}
19521968
- name: setup-opencv-source
19531969
run: |
1954-
unzip -q opencv-mobile-4.11.0.zip
1955-
echo "SOURCE_DIR=opencv-mobile-4.11.0" >> $GITHUB_ENV
1956-
echo "PACKAGE_NAME=opencv-mobile-4.11.0-${{ matrix.name }}" >> $GITHUB_ENV
1970+
unzip -q opencv-mobile-4.12.0.zip
1971+
echo "SOURCE_DIR=opencv-mobile-4.12.0" >> $GITHUB_ENV
1972+
echo "PACKAGE_NAME=opencv-mobile-4.12.0-${{ matrix.name }}" >> $GITHUB_ENV
19571973
19581974
- name: build-disable-thread
19591975
if: ${{ matrix.single-core }}
19601976
run: |
19611977
cd ${{ env.SOURCE_DIR }}
1962-
patch -p1 -i ../patches/opencv-4.11.0-no-atomic.patch
1978+
patch -p1 -i ../patches/opencv-4.12.0-no-atomic.patch
19631979
mkdir build && cd build
19641980
${{ matrix.setup-env-cmd }}
19651981
cmake ${{ env.COMMON_CMAKE_OPTIONS }} ${{ matrix.cmake-options }} \

0 commit comments

Comments
 (0)