diff --git a/.github/workflows/depthai.yml b/.github/workflows/depthai.yml index 1b62311c8ae..bba34299332 100644 --- a/.github/workflows/depthai.yml +++ b/.github/workflows/depthai.yml @@ -17,32 +17,53 @@ env: CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }} STAGING_REPOSITORY: ${{ secrets.STAGING_REPOSITORY }} jobs: - linux-armhf: +# android-arm: +# runs-on: ubuntu-20.04 +# steps: +# - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + android-arm64: runs-on: ubuntu-20.04 - container: ubuntu:bionic steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions - linux-arm64: +# android-x86: +# runs-on: ubuntu-20.04 +# steps: +# - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + android-x86_64: runs-on: ubuntu-20.04 - container: ubuntu:bionic steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions - linux-x86: +# linux-armhf: +# runs-on: ubuntu-20.04 +# steps: +# - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions + linux-arm64: runs-on: ubuntu-20.04 - container: centos:7 steps: - - uses: bytedeco/javacpp-presets/.github/actions/deploy-centos@actions + - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions +# linux-x86: +# runs-on: ubuntu-20.04 +# steps: +# - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions linux-x86_64: runs-on: ubuntu-20.04 - container: centos:7 steps: - - uses: bytedeco/javacpp-presets/.github/actions/deploy-centos@actions + - uses: bytedeco/javacpp-presets/.github/actions/deploy-ubuntu@actions macosx-x86_64: runs-on: macos-11 steps: - uses: bytedeco/javacpp-presets/.github/actions/deploy-macosx@actions +# windows-x86: +# runs-on: windows-2019 +# steps: +# - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions + windows-x86_64: + runs-on: windows-2019 + steps: + - uses: bytedeco/javacpp-presets/.github/actions/deploy-windows@actions redeploy: - needs: [linux-armhf, linux-arm64, linux-x86, linux-x86_64, macosx-x86_64] +# needs: [android-arm, android-arm64, android-x86, android-x86_64, linux-armhf, linux-arm64, linux-x86, linux-x86_64, macosx-x86_64, windows-x86, windows-x86_64] + needs: [android-arm64, android-x86_64, linux-arm64, linux-x86_64, macosx-x86_64, windows-x86_64] runs-on: ubuntu-20.04 steps: - uses: bytedeco/javacpp-presets/.github/actions/redeploy@actions diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ccd336cac3..30baf2987bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ + * Add Android and Windows builds to presets for DepthAI ([pull #1441](https://github.com/bytedeco/javacpp-presets/pull/1441)) * Add presets for SentencePiece 0.1.99 ([pull #1384](https://github.com/bytedeco/javacpp-presets/pull/1384)) * Refactor and improve presets for PyTorch ([pull #1360](https://github.com/bytedeco/javacpp-presets/pull/1360)) * Include `mkl_lapack.h` header file in presets for MKL ([issue #1388](https://github.com/bytedeco/javacpp-presets/issues/1388)) diff --git a/depthai/README.md b/depthai/README.md index 5ff386d5388..86b1f1a4764 100644 --- a/depthai/README.md +++ b/depthai/README.md @@ -38,7 +38,7 @@ We can use [Maven 3](http://maven.apache.org/) to download and install automatic 4.0.0 org.bytedeco.depthai examples - 1.5.9 + 1.5.10-SNAPSHOT CameraPreviewExample @@ -46,12 +46,12 @@ We can use [Maven 3](http://maven.apache.org/) to download and install automatic org.bytedeco depthai-platform - 2.21.2-1.5.9 + 2.21.2-1.5.10-SNAPSHOT org.bytedeco opencv-platform - 4.7.0-1.5.9 + 4.8.1-1.5.10-SNAPSHOT diff --git a/depthai/cppbuild.sh b/depthai/cppbuild.sh index 3ddecb619f1..9c8ae969ab8 100755 --- a/depthai/cppbuild.sh +++ b/depthai/cppbuild.sh @@ -41,6 +41,26 @@ fi export OpenCV_DIR="$OPENCV_PATH/lib/cmake/opencv4" case $PLATFORM in + android-arm) + sedinplace 's:BUILD_SHARED_LIBS=ON:BUILD_SHARED_LIBS=OFF:g' cmake/Hunter/config.cmake + "$CMAKE" -DCMAKE_TOOLCHAIN_FILE=${PLATFORM_ROOT}/build/cmake/android.toolchain.cmake -DOpenCV_DIR=$OPENCV_PATH/sdk/native/jni/abi-armeabi-v7a/ -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=24 -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DDEPTHAI_OPENCV_SUPPORT=ON . + "$CMAKE" --build . --config Release --target install/strip -j $MAKEJ + ;; + android-arm64) + sedinplace 's:BUILD_SHARED_LIBS=ON:BUILD_SHARED_LIBS=OFF:g' cmake/Hunter/config.cmake + "$CMAKE" -DCMAKE_TOOLCHAIN_FILE=${PLATFORM_ROOT}/build/cmake/android.toolchain.cmake -DOpenCV_DIR=$OPENCV_PATH/sdk/native/jni/abi-arm64-v8a/ -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=24 -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DDEPTHAI_OPENCV_SUPPORT=ON . + "$CMAKE" --build . --config Release --target install/strip -j $MAKEJ + ;; + android-x86) + sedinplace 's:BUILD_SHARED_LIBS=ON:BUILD_SHARED_LIBS=OFF:g' cmake/Hunter/config.cmake + "$CMAKE" -DCMAKE_TOOLCHAIN_FILE=${PLATFORM_ROOT}/build/cmake/android.toolchain.cmake -DOpenCV_DIR=$OPENCV_PATH/sdk/native/jni/abi-x86/ -DANDROID_ABI=x86 -DANDROID_PLATFORM=24 -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DDEPTHAI_OPENCV_SUPPORT=ON . + "$CMAKE" --build . --config Release --target install/strip -j $MAKEJ + ;; + android-x86_64) + sedinplace 's:BUILD_SHARED_LIBS=ON:BUILD_SHARED_LIBS=OFF:g' cmake/Hunter/config.cmake + "$CMAKE" -DCMAKE_TOOLCHAIN_FILE=${PLATFORM_ROOT}/build/cmake/android.toolchain.cmake -DOpenCV_DIR=$OPENCV_PATH/sdk/native/jni/abi-x86_64/ -DANDROID_ABI=x86_64 -DANDROID_PLATFORM=24 -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DDEPTHAI_OPENCV_SUPPORT=ON . + "$CMAKE" --build . --config Release --target install/strip -j $MAKEJ + ;; linux-armhf) cd ../libusb-$LIBUSB_VERSION CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic --host=arm-linux-gnueabihf --disable-udev @@ -107,6 +127,20 @@ case $PLATFORM in make install/strip install_name_tool -change /usr/local/opt/libusb/lib/libusb-1.0.0.dylib @rpath/libusb-1.0.0.dylib ../lib/libdepthai-core.dylib ;; + windows-x86) + export CC="cl.exe" + export CXX="cl.exe" + sedinplace 's:BUILD_SHARED_LIBS=ON:BUILD_SHARED_LIBS=OFF:g' cmake/Hunter/config.cmake + "$CMAKE" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" -DDEPTHAI_ENABLE_BACKWARD=OFF -DBUILD_SHARED_LIBS=ON -DDEPTHAI_OPENCV_SUPPORT=ON . + "$CMAKE" --build . --config Release --target install -j $MAKEJ + ;; + windows-x86_64) + export CC="cl.exe" + export CXX="cl.exe" + sedinplace 's:BUILD_SHARED_LIBS=ON:BUILD_SHARED_LIBS=OFF:g' cmake/Hunter/config.cmake + "$CMAKE" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" -DCMAKE_INSTALL_LIBDIR="lib" -DDEPTHAI_ENABLE_BACKWARD=OFF -DBUILD_SHARED_LIBS=ON -DDEPTHAI_OPENCV_SUPPORT=ON . + "$CMAKE" --build . --config Release --target install -j $MAKEJ + ;; *) echo "Error: Platform \"$PLATFORM\" is not supported" ;; diff --git a/depthai/platform/pom.xml b/depthai/platform/pom.xml index b03df5813ab..7a056119a09 100644 --- a/depthai/platform/pom.xml +++ b/depthai/platform/pom.xml @@ -6,7 +6,7 @@ org.bytedeco javacpp-presets - 1.5.9 + 1.5.10-SNAPSHOT ../../ @@ -23,7 +23,7 @@ org.bytedeco opencv-platform - 4.7.0-${project.parent.version} + 4.8.1-${project.parent.version} org.bytedeco @@ -35,24 +35,48 @@ ${javacpp.moduleId} ${project.version} + + + + + + ${project.groupId} ${javacpp.moduleId} ${project.version} - ${javacpp.platform.linux-armhf} + ${javacpp.platform.android-arm64} + + + + + + ${project.groupId} ${javacpp.moduleId} ${project.version} - ${javacpp.platform.linux-arm64} + ${javacpp.platform.android-x86_64} + + + + + + ${project.groupId} ${javacpp.moduleId} ${project.version} - ${javacpp.platform.linux-x86} + ${javacpp.platform.linux-arm64} + + + + + + ${project.groupId} ${javacpp.moduleId} @@ -65,6 +89,18 @@ ${project.version} ${javacpp.platform.macosx-x86_64} + + + + + + + + ${project.groupId} + ${javacpp.moduleId} + ${project.version} + ${javacpp.platform.windows-x86_64} + @@ -77,7 +113,7 @@ - ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-x86_64.jar + ${javacpp.moduleId}.jar ${javacpp.moduleId}-linux-armhf.jar ${javacpp.moduleId}-linux-arm64.jar ${javacpp.moduleId}-linux-x86.jar ${javacpp.moduleId}-linux-x86_64.jar ${javacpp.moduleId}-macosx-x86_64.jar ${javacpp.moduleId}-windows-x86.jar ${javacpp.moduleId}-windows-x86_64.jar @@ -122,11 +158,17 @@ ${project.build.directory}/${project.artifactId}.jar module org.bytedeco.${javacpp.moduleId}.platform { - requires static org.bytedeco.${javacpp.moduleId}.linux.armhf; +// requires static org.bytedeco.${javacpp.moduleId}.android.arm; +// requires static org.bytedeco.${javacpp.moduleId}.android.arm64; +// requires static org.bytedeco.${javacpp.moduleId}.android.x86; +// requires static org.bytedeco.${javacpp.moduleId}.android.x86_64; +// requires static org.bytedeco.${javacpp.moduleId}.linux.armhf; requires static org.bytedeco.${javacpp.moduleId}.linux.arm64; - requires static org.bytedeco.${javacpp.moduleId}.linux.x86; +// requires static org.bytedeco.${javacpp.moduleId}.linux.x86; requires static org.bytedeco.${javacpp.moduleId}.linux.x86_64; 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; } diff --git a/depthai/pom.xml b/depthai/pom.xml index 3ed0d87b11c..89910fe6eba 100644 --- a/depthai/pom.xml +++ b/depthai/pom.xml @@ -6,7 +6,7 @@ org.bytedeco javacpp-presets - 1.5.9 + 1.5.10-SNAPSHOT org.bytedeco @@ -18,7 +18,7 @@ org.bytedeco opencv - 4.7.0-${project.parent.version} + 4.8.1-${project.parent.version} true @@ -42,23 +42,23 @@ org.bytedeco openblas - 0.3.23-${project.parent.version} + 0.3.24-${project.parent.version} org.bytedeco opencv - 4.7.0-${project.parent.version} + 4.8.1-${project.parent.version} org.bytedeco openblas - 0.3.23-${project.parent.version} + 0.3.24-${project.parent.version} ${javacpp.platform} org.bytedeco opencv - 4.7.0-${project.parent.version} + 4.8.1-${project.parent.version} ${javacpp.platform} diff --git a/depthai/samples/pom.xml b/depthai/samples/pom.xml index 50b18e41e7c..5ac0da44f61 100644 --- a/depthai/samples/pom.xml +++ b/depthai/samples/pom.xml @@ -2,7 +2,7 @@ 4.0.0 org.bytedeco.depthai examples - 1.5.9 + 1.5.10-SNAPSHOT CameraPreviewExample 1.7 @@ -12,12 +12,12 @@ org.bytedeco depthai-platform - 2.21.2-1.5.9 + 2.21.2-1.5.10-SNAPSHOT org.bytedeco opencv-platform - 4.7.0-1.5.9 + 4.8.1-1.5.10-SNAPSHOT diff --git a/depthai/src/main/java/org/bytedeco/depthai/presets/depthai.java b/depthai/src/main/java/org/bytedeco/depthai/presets/depthai.java index 62b7f0d92d7..a4d2c113489 100644 --- a/depthai/src/main/java/org/bytedeco/depthai/presets/depthai.java +++ b/depthai/src/main/java/org/bytedeco/depthai/presets/depthai.java @@ -44,7 +44,7 @@ inherit = opencv_imgproc.class, value = { @Platform( - value = {"linux-arm", "linux-x86", "macosx-x86"}, + value = {"android", "linux-arm", "linux-x86", "macosx-x86", "Windows-x86"}, compiler = "cpp14", define = {"SHARED_PTR_NAMESPACE std", "UNIQUE_PTR_NAMESPACE std", "XLINK_USE_MX_ID_NAME ON"}, include = { @@ -485,11 +485,11 @@ public void map(InfoMap infoMap) { .put(new Info("dai::DeviceBootloader::Version::toString", "dai::Version::toString", "dai::DeviceInfo::toString", "dai::Node::toString").javaText("public native @StdString String toString();")) - .put(new Info("std::function(std::shared_ptr)>").valueTypes("RawBufferCallback")) - .put(new Info("std::function").valueTypes("LogCallback")) + .put(new Info("std::function(dai::RawBuffer*)>").valueTypes("RawBufferCallback")) + .put(new Info("std::function").valueTypes("LogCallback")) .put(new Info("std::function").valueTypes("ProgressCallback")) - .put(new Info("std::function)>").valueTypes("NameMessageCallback")) - .put(new Info("std::function)>").valueTypes("MessageCallback")) + .put(new Info("std::function)>").valueTypes("NameMessageCallback")) + .put(new Info("std::function)>").valueTypes("MessageCallback")) .put(new Info("std::function").valueTypes("Callback")) ; } diff --git a/pom.xml b/pom.xml index d30031fece3..e2c38ce97d8 100644 --- a/pom.xml +++ b/pom.xml @@ -781,6 +781,7 @@ tesseract tensorflow tensorflow-lite + depthai bullet cpu_features @@ -832,6 +833,7 @@ tesseract tensorflow tensorflow-lite + depthai bullet cpu_features @@ -883,6 +885,7 @@ tesseract tensorflow tensorflow-lite + depthai bullet cpu_features @@ -934,6 +937,7 @@ tesseract tensorflow tensorflow-lite + depthai bullet cpu_features @@ -1610,6 +1614,7 @@ leptonica tesseract ale + depthai bullet liquidfun cpu_features @@ -1690,6 +1695,7 @@ tensorflow-lite tensorrt ale + depthai onnx onnxruntime tvm