diff --git a/.github/workflows/opencv.yml b/.github/workflows/opencv.yml
index 2c9083bf0e2..641bd5eef27 100644
--- a/.github/workflows/opencv.yml
+++ b/.github/workflows/opencv.yml
@@ -72,6 +72,10 @@ jobs:
ext: ["", -gpu]
steps:
- uses: bytedeco/javacpp-presets/.github/actions/deploy-centos@actions
+ macosx-arm64:
+ runs-on: macos-10.15
+ steps:
+ - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions
macosx-x86_64:
runs-on: macos-10.15
steps:
@@ -88,7 +92,7 @@ jobs:
steps:
- uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions
redeploy:
- needs: [android-arm, android-arm64, android-x86, android-x86_64, ios-arm64, ios-x86_64, linux-armhf, linux-arm64, linux-ppc64le, linux-x86, linux-x86_64, macosx-x86_64, windows-x86, windows-x86_64]
+ needs: [android-arm, android-arm64, android-x86, android-x86_64, ios-arm64, ios-x86_64, linux-armhf, linux-arm64, linux-ppc64le, linux-x86, linux-x86_64, macosx-arm64, macosx-x86_64, windows-x86, windows-x86_64]
runs-on: ubuntu-18.04
steps:
- uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 75897c76f2b..84947f4e5bd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
* Include new `llvm-c/Transforms/PassBuilder.h` header file in presets for LLVM ([pull #1093](https://github.com/bytedeco/javacpp-presets/pull/1093))
- * Introduce `macosx-arm64` builds to presets for LLVM ([pull #1092](https://github.com/bytedeco/javacpp-presets/pull/1092))
+ * Introduce `macosx-arm64` builds to presets for OpenCV ([issue #1069](https://github.com/bytedeco/javacpp-presets/issues/1069)), LLVM ([pull #1092](https://github.com/bytedeco/javacpp-presets/pull/1092))
* Add presets for LZ4 1.9.3 ([pull #1094](https://github.com/bytedeco/javacpp-presets/pull/1094)), Triton Inference Server 2.14 ([pull #1085](https://github.com/bytedeco/javacpp-presets/pull/1085))
* Add presets for the NvToolsExt (NVTX) module of CUDA ([issue #1068](https://github.com/bytedeco/javacpp-presets/issues/1068))
* Increase the amount of function pointers available for callbacks in presets for Qt ([pull #1080](https://github.com/bytedeco/javacpp-presets/pull/1080))
diff --git a/opencv/cppbuild.sh b/opencv/cppbuild.sh
index 032f03d1d03..ebffbff7dfb 100755
--- a/opencv/cppbuild.sh
+++ b/opencv/cppbuild.sh
@@ -370,15 +370,24 @@ case $PLATFORM in
make install/strip
cp ../share/java/opencv4/libopencv_java.so ../lib
sedinplace "s/.so.${OPENCV_VERSION%-*}/.so/g" ../lib/cmake/opencv4/OpenCVModules-release.cmake
+ macosx-arm64)
+ # also use pthreads on Mac for increased usability and more consistent behavior with Linux
+ sedinplace '/IF HAVE_GCD/d' CMakeLists.txt
+ CC="clang -arch arm64" CXX="clang++ -arch arm64" $CMAKE -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" $BUILD_X -DENABLE_PRECOMPILED_HEADERS=OFF $WITH_X $GPU_FLAGS $BUILD_CONTRIB_X -DCMAKE_CXX_FLAGS="-w" .
+ # download files CMake failed to download
+ if [[ -f download_with_curl.sh ]]; then
+ bash download_with_curl.sh
+ $CMAKE .
+ fi
+ make -j $MAKEJ
+ make install/strip
+ cp ../share/java/opencv4/libopencv_java.dylib ../lib
+ sedinplace "s/.${OPENCV_VERSION%-*}.dylib/.dylib/g" ../lib/cmake/opencv4/OpenCVModules-release.cmake
;;
- macosx-*)
+ macosx-x86_64)
# also use pthreads on Mac for increased usability and more consistent behavior with Linux
sedinplace '/IF HAVE_GCD/d' CMakeLists.txt
- # remove spurious "lib" lib
- sedinplace '/if.*(HAVE_CUDA)/a\
- list(REMOVE_ITEM CUDA_LIBRARIES lib)\
- ' CMakeLists.txt cmake/OpenCVModule.cmake cmake/OpenCVDetectCUDA.cmake
- CC="clang" CXX="clang++" $CMAKE -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" $BUILD_X -DENABLE_PRECOMPILED_HEADERS=OFF $WITH_X $GPU_FLAGS -DCUDA_HOST_COMPILER=/usr/bin/clang++ $BUILD_CONTRIB_X -DCMAKE_CXX_FLAGS="-w" .
+ CC="clang -arch x86_64" CXX="clang++ -arch x86_64" $CMAKE -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" $BUILD_X -DENABLE_PRECOMPILED_HEADERS=OFF $WITH_X $GPU_FLAGS $BUILD_CONTRIB_X -DCMAKE_CXX_FLAGS="-w" .
# download files CMake failed to download
if [[ -f download_with_curl.sh ]]; then
bash download_with_curl.sh
diff --git a/opencv/platform/pom.xml b/opencv/platform/pom.xml
index 8ffbd16c26f..cdd52a49c6f 100644
--- a/opencv/platform/pom.xml
+++ b/opencv/platform/pom.xml
@@ -96,6 +96,12 @@
${project.version}
${javacpp.platform.linux-ppc64le}
+
+ ${project.groupId}
+ ${javacpp.moduleId}
+ ${project.version}
+ ${javacpp.platform.macosx-arm64}
+
${project.groupId}
${javacpp.moduleId}
@@ -126,7 +132,7 @@
- ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar
+ ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-ppc64le.jar ${javacpp.moduleId}-macosx-arm64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar
@@ -182,6 +188,7 @@
requires static org.bytedeco.${javacpp.moduleId}.linux.armhf;
requires static org.bytedeco.${javacpp.moduleId}.linux.arm64;
requires static org.bytedeco.${javacpp.moduleId}.linux.ppc64le;
+ requires static org.bytedeco.${javacpp.moduleId}.macosx.arm64;
requires static org.bytedeco.${javacpp.moduleId}.macosx.x86_64;
requires static org.bytedeco.${javacpp.moduleId}.windows.x86;
requires static org.bytedeco.${javacpp.moduleId}.windows.x86_64;