From f122f6c3a0277c2e7ea91ccb245102af384325b6 Mon Sep 17 00:00:00 2001 From: nihui Date: Wed, 6 Sep 2023 23:17:59 +0800 Subject: [PATCH 1/6] test --- .github/workflows/test.yml | 125 ++++++++++++++++++ ...p830-linux-uclibcgnueabihf.toolchain.cmake | 24 ++++ 2 files changed, 149 insertions(+) create mode 100644 .github/workflows/test.yml create mode 100644 toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..f886954e --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,125 @@ +name: test +on: [pull_request] + +env: + DEVELOPER_DIR: /Applications/Xcode_13.4.1.app/Contents/Developer + IOS_DEPLOYMENT_TARGET: '9.0' + MAC_DEPLOYMENT_TARGET: '10.9' + MAC_ARM64_DEPLOYMENT_TARGET: '11.0' + MAC_CATALYST_DEPLOYMENT_TARGET: '13.1' + ENABLE_BITCODE: OFF + ENABLE_ARC: OFF + ENABLE_VISIBILITY: OFF + EMSCRIPTEN_VERSION: 3.1.28 + +permissions: + contents: read + +jobs: + + milkv-duo-opencv4: + runs-on: ubuntu-latest + env: + OPENCV_VERSION: 4.8.0 + PACKAGENAME: opencv-mobile-4.8.0-milkv-duo + steps: + - uses: actions/checkout@v3 + - name: toolchain + run: | + wget -q https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz -O host-tools.tar.gz + tar -xf host-tools.tar.gz + - name: opencv-source + run: | + wget -q https://github.com/opencv/opencv/archive/${{ env.OPENCV_VERSION }}.zip -O opencv-${{ env.OPENCV_VERSION }}.zip + unzip -q opencv-${{ env.OPENCV_VERSION }}.zip + cd opencv-${{ env.OPENCV_VERSION }} + truncate -s 0 cmake/OpenCVFindLibsGrfmt.cmake + rm -rf modules/gapi + patch -p1 -i ../opencv-4.8.0-no-rtti.patch + patch -p1 -i ../opencv-4.8.0-no-zlib.patch + patch -p1 -i ../opencv-4.8.0-link-openmp.patch + rm -rf modules/highgui + cp -r ../highgui modules/ + - name: build + run: | + cd opencv-${{ env.OPENCV_VERSION }} + mkdir build && cd build + export RISCV_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/gcc/riscv64-linux-musl-x86_64 + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/riscv64-unknown-linux-musl.toolchain.cmake \ + -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ + -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release `cat ../../opencv4_cmake_options.txt` -DBUILD_opencv_world=OFF -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=ON .. + cmake --build . -j 2 + cmake --build . --target install + - name: package + run: | + mkdir ${{ env.PACKAGENAME }} + cp -rf opencv-${{ env.OPENCV_VERSION }}/build/install/* ${{ env.PACKAGENAME }}/ + rm -rf ${{ env.PACKAGENAME }}/share/opencv4 + zip -9 -r ${{ env.PACKAGENAME }}.zip ${{ env.PACKAGENAME }} + - name: test + run: | + cd test + mkdir build && cd build + export RISCV_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/gcc/riscv64-linux-musl-x86_64 + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/riscv64-unknown-linux-musl.toolchain.cmake \ + -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ + -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$GITHUB_WORKSPACE/${{ env.PACKAGENAME }}/lib/cmake/opencv4 .. + cmake --build . -j 2 + - name: upload + uses: actions/upload-artifact@v3 + with: + name: ${{ env.PACKAGENAME }} + path: ${{ env.PACKAGENAME }}.zip + + luckfox-pico-opencv4: + runs-on: ubuntu-latest + env: + OPENCV_VERSION: 4.8.0 + PACKAGENAME: opencv-mobile-4.8.0-luckfox-pico + steps: + - uses: actions/checkout@v3 + - name: toolchain + run: | + git clone --depth 1 https://github.com/LuckfoxTECH/luckfox-pico.git luckfox-pico + - name: opencv-source + run: | + wget -q https://github.com/opencv/opencv/archive/${{ env.OPENCV_VERSION }}.zip -O opencv-${{ env.OPENCV_VERSION }}.zip + unzip -q opencv-${{ env.OPENCV_VERSION }}.zip + cd opencv-${{ env.OPENCV_VERSION }} + truncate -s 0 cmake/OpenCVFindLibsGrfmt.cmake + rm -rf modules/gapi + patch -p1 -i ../opencv-4.8.0-no-rtti.patch + patch -p1 -i ../opencv-4.8.0-no-zlib.patch + patch -p1 -i ../opencv-4.8.0-link-openmp.patch + rm -rf modules/highgui + cp -r ../highgui modules/ + - name: build + run: | + cd opencv-${{ env.OPENCV_VERSION }} + mkdir build && cd build + export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.toolchain.cmake \ + -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ + -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release `cat ../../opencv4_cmake_options.txt` -DBUILD_opencv_world=OFF -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=ON .. + cmake --build . -j 2 + cmake --build . --target install + - name: package + run: | + mkdir ${{ env.PACKAGENAME }} + cp -rf opencv-${{ env.OPENCV_VERSION }}/build/install/* ${{ env.PACKAGENAME }}/ + rm -rf ${{ env.PACKAGENAME }}/share/opencv4 + zip -9 -r ${{ env.PACKAGENAME }}.zip ${{ env.PACKAGENAME }} + - name: test + run: | + cd test + mkdir build && cd build + export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.toolchain.cmake \ + -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ + -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$GITHUB_WORKSPACE/${{ env.PACKAGENAME }}/lib/cmake/opencv4 .. + cmake --build . -j 2 + - name: upload + uses: actions/upload-artifact@v3 + with: + name: ${{ env.PACKAGENAME }} + path: ${{ env.PACKAGENAME }}.zip diff --git a/toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake b/toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake new file mode 100644 index 00000000..4442bf21 --- /dev/null +++ b/toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake @@ -0,0 +1,24 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR arm) + +if(DEFINED ENV{TOOLCHAIN_ROOT_PATH}) + file(TO_CMAKE_PATH $ENV{TOOLCHAIN_ROOT_PATH} TOOLCHAIN_ROOT_PATH) +else() + message(FATAL_ERROR "TOOLCHAIN_ROOT_PATH env must be defined") +endif() + +set(TOOLCHAIN_ROOT_PATH ${TOOLCHAIN_ROOT_PATH} CACHE STRING "root path to toolchain") + +set(CMAKE_C_COMPILER "${TOOLCHAIN_ROOT_PATH}/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc") +set(CMAKE_CXX_COMPILER "${TOOLCHAIN_ROOT_PATH}/bin/arm-rockchip830-linux-uclibcgnueabihf-g++") + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +set(CMAKE_C_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon") +set(CMAKE_CXX_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon") + +# cache flags +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags") From b5d6489123669bcdbddb9d48528429115dedeb3e Mon Sep 17 00:00:00 2001 From: nihui Date: Wed, 6 Sep 2023 23:21:12 +0800 Subject: [PATCH 2/6] fix --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f886954e..2eb136cb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -98,7 +98,7 @@ jobs: cd opencv-${{ env.OPENCV_VERSION }} mkdir build && cd build export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf - cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.toolchain.cmake \ + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake \ -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release `cat ../../opencv4_cmake_options.txt` -DBUILD_opencv_world=OFF -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=ON .. cmake --build . -j 2 @@ -114,7 +114,7 @@ jobs: cd test mkdir build && cd build export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf - cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.toolchain.cmake \ + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake \ -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$GITHUB_WORKSPACE/${{ env.PACKAGENAME }}/lib/cmake/opencv4 .. cmake --build . -j 2 From 3cf82a0cc56ab75959c4d5535cfca5d75fcc8a2d Mon Sep 17 00:00:00 2001 From: nihui Date: Wed, 6 Sep 2023 23:27:09 +0800 Subject: [PATCH 3/6] fix --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2eb136cb..5d2197b0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -113,7 +113,7 @@ jobs: run: | cd test mkdir build && cd build - export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf + export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake \ -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$GITHUB_WORKSPACE/${{ env.PACKAGENAME }}/lib/cmake/opencv4 .. From 5f027297720ae74ddd94384a796224680be855b8 Mon Sep 17 00:00:00 2001 From: nihui Date: Wed, 6 Sep 2023 23:45:05 +0800 Subject: [PATCH 4/6] Update README.md --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 37fdbb90..8156d1bb 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,6 @@ https://github.com/nihui/opencv-mobile/releases/latest |Ubuntu-20.04|x86_64|[![download-icon]][opencv2-ubuntu-2004-url]|[![download-icon]][opencv3-ubuntu-2004-url]|[![download-icon]][opencv4-ubuntu-2004-url]| |Ubuntu-22.04|x86_64|[![download-icon]][opencv2-ubuntu-2204-url]|[![download-icon]][opencv3-ubuntu-2204-url]|[![download-icon]][opencv4-ubuntu-2204-url]| |WebAssembly|basic
simd
threads
simd+threads|[![download-icon]][opencv2-webassembly-url]|[![download-icon]][opencv3-webassembly-url]|[![download-icon]][opencv4-webassembly-url]| -|RISCV-Linux|milkv-duo| | |[![download-icon]][opencv4-milkv-duo-url]| [download-icon]: https://img.shields.io/badge/download-blue?style=for-the-badge [bitcode-icon]: https://img.shields.io/badge/+bitcode-blue?style=for-the-badge @@ -132,7 +131,13 @@ https://github.com/nihui/opencv-mobile/releases/latest [opencv3-webassembly-url]: https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-3.4.20-webassembly.zip [opencv4-webassembly-url]: https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.8.0-webassembly.zip +|Board|Target|opencv-4.8.0| +|:-:|:-:|:-:| +|milkv-duo|riscv64-linux-musl|[![download-icon]][opencv4-milkv-duo-url]| +|luckfox-pico|arm-linux-uclibcgnueabihf|[![download-icon]][opencv4-luckfox-pico-url]| + [opencv4-milkv-duo-url]: https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.8.0-milkv-duo.zip +[opencv4-luckfox-pico-url]: https://github.com/nihui/opencv-mobile/releases/latest/download/opencv-mobile-4.8.0-luckfox-pico.zip * Android package build with ndk r25c and android api 24 * iOS / iOS-Simulator / MacOS / Mac-Catalyst package build with Xcode 13.4.1 From 07b6a246430a2a08d50d897b4025be9716254e9b Mon Sep 17 00:00:00 2001 From: nihui Date: Wed, 6 Sep 2023 23:46:39 +0800 Subject: [PATCH 5/6] wip --- .github/workflows/release.yml | 109 +++++++++++++++++++++++++++++++++- .github/workflows/test.yml | 107 --------------------------------- 2 files changed, 108 insertions(+), 108 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d36c6107..469bece1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4052,10 +4052,117 @@ jobs: name: ${{ env.PACKAGENAME }} path: ${{ env.PACKAGENAME }}.zip + milkv-duo-opencv4: + runs-on: ubuntu-latest + env: + OPENCV_VERSION: 4.8.0 + PACKAGENAME: opencv-mobile-4.8.0-milkv-duo + steps: + - uses: actions/checkout@v3 + - name: toolchain + run: | + wget -q https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz -O host-tools.tar.gz + tar -xf host-tools.tar.gz + - name: opencv-source + run: | + wget -q https://github.com/opencv/opencv/archive/${{ env.OPENCV_VERSION }}.zip -O opencv-${{ env.OPENCV_VERSION }}.zip + unzip -q opencv-${{ env.OPENCV_VERSION }}.zip + cd opencv-${{ env.OPENCV_VERSION }} + truncate -s 0 cmake/OpenCVFindLibsGrfmt.cmake + rm -rf modules/gapi + patch -p1 -i ../opencv-4.8.0-no-rtti.patch + patch -p1 -i ../opencv-4.8.0-no-zlib.patch + patch -p1 -i ../opencv-4.8.0-link-openmp.patch + rm -rf modules/highgui + cp -r ../highgui modules/ + - name: build + run: | + cd opencv-${{ env.OPENCV_VERSION }} + mkdir build && cd build + export RISCV_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/gcc/riscv64-linux-musl-x86_64 + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/riscv64-unknown-linux-musl.toolchain.cmake \ + -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ + -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release `cat ../../opencv4_cmake_options.txt` -DBUILD_opencv_world=OFF -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=ON .. + cmake --build . -j 2 + cmake --build . --target install + - name: package + run: | + mkdir ${{ env.PACKAGENAME }} + cp -rf opencv-${{ env.OPENCV_VERSION }}/build/install/* ${{ env.PACKAGENAME }}/ + rm -rf ${{ env.PACKAGENAME }}/share/opencv4 + zip -9 -r ${{ env.PACKAGENAME }}.zip ${{ env.PACKAGENAME }} + - name: test + run: | + cd test + mkdir build && cd build + export RISCV_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/gcc/riscv64-linux-musl-x86_64 + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/riscv64-unknown-linux-musl.toolchain.cmake \ + -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ + -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$GITHUB_WORKSPACE/${{ env.PACKAGENAME }}/lib/cmake/opencv4 .. + cmake --build . -j 2 + - name: upload + uses: actions/upload-artifact@v3 + with: + name: ${{ env.PACKAGENAME }} + path: ${{ env.PACKAGENAME }}.zip + + luckfox-pico-opencv4: + runs-on: ubuntu-latest + env: + OPENCV_VERSION: 4.8.0 + PACKAGENAME: opencv-mobile-4.8.0-luckfox-pico + steps: + - uses: actions/checkout@v3 + - name: toolchain + run: | + git clone --depth 1 https://github.com/LuckfoxTECH/luckfox-pico.git luckfox-pico + - name: opencv-source + run: | + wget -q https://github.com/opencv/opencv/archive/${{ env.OPENCV_VERSION }}.zip -O opencv-${{ env.OPENCV_VERSION }}.zip + unzip -q opencv-${{ env.OPENCV_VERSION }}.zip + cd opencv-${{ env.OPENCV_VERSION }} + truncate -s 0 cmake/OpenCVFindLibsGrfmt.cmake + rm -rf modules/gapi + patch -p1 -i ../opencv-4.8.0-no-rtti.patch + patch -p1 -i ../opencv-4.8.0-no-zlib.patch + patch -p1 -i ../opencv-4.8.0-link-openmp.patch + rm -rf modules/highgui + cp -r ../highgui modules/ + - name: build + run: | + cd opencv-${{ env.OPENCV_VERSION }} + mkdir build && cd build + export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake \ + -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ + -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release `cat ../../opencv4_cmake_options.txt` -DBUILD_opencv_world=OFF -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=ON .. + cmake --build . -j 2 + cmake --build . --target install + - name: package + run: | + mkdir ${{ env.PACKAGENAME }} + cp -rf opencv-${{ env.OPENCV_VERSION }}/build/install/* ${{ env.PACKAGENAME }}/ + rm -rf ${{ env.PACKAGENAME }}/share/opencv4 + zip -9 -r ${{ env.PACKAGENAME }}.zip ${{ env.PACKAGENAME }} + - name: test + run: | + cd test + mkdir build && cd build + export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf + cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake \ + -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ + -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$GITHUB_WORKSPACE/${{ env.PACKAGENAME }}/lib/cmake/opencv4 .. + cmake --build . -j 2 + - name: upload + uses: actions/upload-artifact@v3 + with: + name: ${{ env.PACKAGENAME }} + path: ${{ env.PACKAGENAME }}.zip + release: permissions: contents: write # for softprops/action-gh-release to create a release - needs: [setup, android-opencv4, android-opencv3, android-opencv2, ios-opencv4, ios-opencv3, ios-opencv2, ios-opencv4-bitcode, ios-opencv3-bitcode, ios-opencv2-bitcode, ios-simulator-opencv4, ios-simulator-opencv3, ios-simulator-opencv2, ios-simulator-opencv4-bitcode, ios-simulator-opencv3-bitcode, ios-simulator-opencv2-bitcode, armlinux-opencv4, armlinux-opencv3, armlinux-opencv2, macos-opencv4, macos-opencv3, macos-opencv2, mac-catalyst-opencv4, mac-catalyst-opencv3, mac-catalyst-opencv2, mac-catalyst-opencv4-bitcode, mac-catalyst-opencv3-bitcode, mac-catalyst-opencv2-bitcode, windows-vs2015-opencv4, windows-vs2015-opencv3, windows-vs2015-opencv2, windows-vs2017-opencv4, windows-vs2017-opencv3, windows-vs2017-opencv2, windows-vs2019-opencv4, windows-vs2019-opencv3, windows-vs2019-opencv2, windows-vs2022-opencv4, windows-vs2022-opencv3, windows-vs2022-opencv2, ubuntu-2004-opencv4, ubuntu-2004-opencv3, ubuntu-2004-opencv2, ubuntu-2204-opencv4, ubuntu-2204-opencv3, ubuntu-2204-opencv2, webassembly-opencv4, webassembly-opencv3, webassembly-opencv2, apple-opencv4, apple-opencv3, apple-opencv2, apple-opencv4-bitcode, apple-opencv3-bitcode, apple-opencv2-bitcode] + needs: [setup, android-opencv4, android-opencv3, android-opencv2, ios-opencv4, ios-opencv3, ios-opencv2, ios-opencv4-bitcode, ios-opencv3-bitcode, ios-opencv2-bitcode, ios-simulator-opencv4, ios-simulator-opencv3, ios-simulator-opencv2, ios-simulator-opencv4-bitcode, ios-simulator-opencv3-bitcode, ios-simulator-opencv2-bitcode, armlinux-opencv4, armlinux-opencv3, armlinux-opencv2, macos-opencv4, macos-opencv3, macos-opencv2, mac-catalyst-opencv4, mac-catalyst-opencv3, mac-catalyst-opencv2, mac-catalyst-opencv4-bitcode, mac-catalyst-opencv3-bitcode, mac-catalyst-opencv2-bitcode, windows-vs2015-opencv4, windows-vs2015-opencv3, windows-vs2015-opencv2, windows-vs2017-opencv4, windows-vs2017-opencv3, windows-vs2017-opencv2, windows-vs2019-opencv4, windows-vs2019-opencv3, windows-vs2019-opencv2, windows-vs2022-opencv4, windows-vs2022-opencv3, windows-vs2022-opencv2, ubuntu-2004-opencv4, ubuntu-2004-opencv3, ubuntu-2004-opencv2, ubuntu-2204-opencv4, ubuntu-2204-opencv3, ubuntu-2204-opencv2, webassembly-opencv4, webassembly-opencv3, webassembly-opencv2, apple-opencv4, apple-opencv3, apple-opencv2, apple-opencv4-bitcode, apple-opencv3-bitcode, apple-opencv2-bitcode, milkv-duo-opencv4, luckfox-pico-opencv4] runs-on: ubuntu-latest steps: - name: download diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5d2197b0..b161a941 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,110 +16,3 @@ permissions: contents: read jobs: - - milkv-duo-opencv4: - runs-on: ubuntu-latest - env: - OPENCV_VERSION: 4.8.0 - PACKAGENAME: opencv-mobile-4.8.0-milkv-duo - steps: - - uses: actions/checkout@v3 - - name: toolchain - run: | - wget -q https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz -O host-tools.tar.gz - tar -xf host-tools.tar.gz - - name: opencv-source - run: | - wget -q https://github.com/opencv/opencv/archive/${{ env.OPENCV_VERSION }}.zip -O opencv-${{ env.OPENCV_VERSION }}.zip - unzip -q opencv-${{ env.OPENCV_VERSION }}.zip - cd opencv-${{ env.OPENCV_VERSION }} - truncate -s 0 cmake/OpenCVFindLibsGrfmt.cmake - rm -rf modules/gapi - patch -p1 -i ../opencv-4.8.0-no-rtti.patch - patch -p1 -i ../opencv-4.8.0-no-zlib.patch - patch -p1 -i ../opencv-4.8.0-link-openmp.patch - rm -rf modules/highgui - cp -r ../highgui modules/ - - name: build - run: | - cd opencv-${{ env.OPENCV_VERSION }} - mkdir build && cd build - export RISCV_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/gcc/riscv64-linux-musl-x86_64 - cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/riscv64-unknown-linux-musl.toolchain.cmake \ - -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ - -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release `cat ../../opencv4_cmake_options.txt` -DBUILD_opencv_world=OFF -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=ON .. - cmake --build . -j 2 - cmake --build . --target install - - name: package - run: | - mkdir ${{ env.PACKAGENAME }} - cp -rf opencv-${{ env.OPENCV_VERSION }}/build/install/* ${{ env.PACKAGENAME }}/ - rm -rf ${{ env.PACKAGENAME }}/share/opencv4 - zip -9 -r ${{ env.PACKAGENAME }}.zip ${{ env.PACKAGENAME }} - - name: test - run: | - cd test - mkdir build && cd build - export RISCV_ROOT_PATH=$GITHUB_WORKSPACE/host-tools/gcc/riscv64-linux-musl-x86_64 - cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/riscv64-unknown-linux-musl.toolchain.cmake \ - -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ - -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$GITHUB_WORKSPACE/${{ env.PACKAGENAME }}/lib/cmake/opencv4 .. - cmake --build . -j 2 - - name: upload - uses: actions/upload-artifact@v3 - with: - name: ${{ env.PACKAGENAME }} - path: ${{ env.PACKAGENAME }}.zip - - luckfox-pico-opencv4: - runs-on: ubuntu-latest - env: - OPENCV_VERSION: 4.8.0 - PACKAGENAME: opencv-mobile-4.8.0-luckfox-pico - steps: - - uses: actions/checkout@v3 - - name: toolchain - run: | - git clone --depth 1 https://github.com/LuckfoxTECH/luckfox-pico.git luckfox-pico - - name: opencv-source - run: | - wget -q https://github.com/opencv/opencv/archive/${{ env.OPENCV_VERSION }}.zip -O opencv-${{ env.OPENCV_VERSION }}.zip - unzip -q opencv-${{ env.OPENCV_VERSION }}.zip - cd opencv-${{ env.OPENCV_VERSION }} - truncate -s 0 cmake/OpenCVFindLibsGrfmt.cmake - rm -rf modules/gapi - patch -p1 -i ../opencv-4.8.0-no-rtti.patch - patch -p1 -i ../opencv-4.8.0-no-zlib.patch - patch -p1 -i ../opencv-4.8.0-link-openmp.patch - rm -rf modules/highgui - cp -r ../highgui modules/ - - name: build - run: | - cd opencv-${{ env.OPENCV_VERSION }} - mkdir build && cd build - export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf - cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake \ - -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ - -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release `cat ../../opencv4_cmake_options.txt` -DBUILD_opencv_world=OFF -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=ON .. - cmake --build . -j 2 - cmake --build . --target install - - name: package - run: | - mkdir ${{ env.PACKAGENAME }} - cp -rf opencv-${{ env.OPENCV_VERSION }}/build/install/* ${{ env.PACKAGENAME }}/ - rm -rf ${{ env.PACKAGENAME }}/share/opencv4 - zip -9 -r ${{ env.PACKAGENAME }}.zip ${{ env.PACKAGENAME }} - - name: test - run: | - cd test - mkdir build && cd build - export TOOLCHAIN_ROOT_PATH=$GITHUB_WORKSPACE/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf - cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake \ - -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" \ - -DCMAKE_BUILD_TYPE=Release -DOpenCV_DIR=$GITHUB_WORKSPACE/${{ env.PACKAGENAME }}/lib/cmake/opencv4 .. - cmake --build . -j 2 - - name: upload - uses: actions/upload-artifact@v3 - with: - name: ${{ env.PACKAGENAME }} - path: ${{ env.PACKAGENAME }}.zip From faf1a0fd571b589098a9e18e2fe172dceefeb7cc Mon Sep 17 00:00:00 2001 From: nihui Date: Wed, 6 Sep 2023 23:55:11 +0800 Subject: [PATCH 6/6] wip --- .github/workflows/test.yml | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index b161a941..00000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: test -on: [pull_request] - -env: - DEVELOPER_DIR: /Applications/Xcode_13.4.1.app/Contents/Developer - IOS_DEPLOYMENT_TARGET: '9.0' - MAC_DEPLOYMENT_TARGET: '10.9' - MAC_ARM64_DEPLOYMENT_TARGET: '11.0' - MAC_CATALYST_DEPLOYMENT_TARGET: '13.1' - ENABLE_BITCODE: OFF - ENABLE_ARC: OFF - ENABLE_VISIBILITY: OFF - EMSCRIPTEN_VERSION: 3.1.28 - -permissions: - contents: read - -jobs: