diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index af1032e..95e1fb5 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -18,18 +18,21 @@ jobs: include: - BUILD_TYPE: Release qt_arch: android_arm64_v8a - VCPKG_DEFAULT_TRIPLET: arm-android + VCPKG_TARGET_TRIPLET: arm-android ENABLE_DOWNLOAD: ON + ANDROID_ABI: arm64-v8a - BUILD_TYPE: Release qt_arch: android_armv7 - VCPKG_DEFAULT_TRIPLET: arm-android + VCPKG_TARGET_TRIPLET: arm-android ENABLE_DOWNLOAD_MODULE: OFF + ANDROID_ABI: armeabi-v7a - BUILD_TYPE: Release qt_arch: android_x86_64 - VCPKG_DEFAULT_TRIPLET: x64-android + VCPKG_TARGET_TRIPLET: x64-android ENABLE_DOWNLOAD: ON + ANDROID_ABI: x86_64 runs-on: ubuntu-latest @@ -39,11 +42,11 @@ jobs: TOOSL_DIR: ${{github.workspace}}/.cache/tools INSTALL_DIR: ${{github.workspace}}/.cache/install_${{matrix.BUILD_TYPE}} VCPKGGITCOMMITID: eb33d2f7583405fca184bcdf7fdd5828ec88ac05 - VCPKG_DEFAULT_TRIPLET: ${{matrix.VCPKG_DEFAULT_TRIPLET}} + VCPKG_TARGET_TRIPLET: ${{matrix.VCPKG_TARGET_TRIPLET}} VCPKG_DEFAULT_HOST_TRIPLET: x64-linux ANDROID_PLATFORM: android-23 ANDROID_NATIVE_API_LEVEL: 23 - STOREPASS: ${{secrets.STOREPASS}} + ANDROID_ABI: ${{matrix.ANDROID_ABI}} qt_modules: 'qtwebchannel qtwebsockets qtwebview qtimageformats qtmultimedia qtscxml qt5compat' FaceRecognizer_VERSION: v0.0.4 ENABLE_DOWNLOAD_MODULE: ${{matrix.ENABLE_DOWNLOAD_MODULE}} @@ -100,9 +103,10 @@ jobs: -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} \ -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake \ -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \ - -DVCPKG_TARGET_TRIPLET=${{env.VCPKG_DEFAULT_TRIPLET}} \ + -DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TARGET_TRIPLET}} \ -DANDROID_ABI=${{matrix.ANDROID_ABI}} \ - -DANDROID_PLATFORM=${{matrix.ANDROID_PLATFORM}} \ + -DANDROID_PLATFORM=${{env.ANDROID_PLATFORM}} \ + -DANDROID_NATIVE_API_LEVEL=${{env.ANDROID_NATIVE_API_LEVEL}} \ -DBUILD_EXAMPLE=OFF cmake --build . --config ${{matrix.BUILD_TYPE}} cmake --build . --config ${{matrix.BUILD_TYPE}} --target install @@ -121,9 +125,9 @@ jobs: -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} \ -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake \ -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \ - -DVCPKG_TARGET_TRIPLET=${{env.VCPKG_DEFAULT_TRIPLET}} \ + -DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TARGET_TRIPLET}} \ -DANDROID_ABI=${{matrix.ANDROID_ABI}} \ - -DANDROID_PLATFORM=${{matrix.ANDROID_PLATFORM}} \ + -DANDROID_PLATFORM=${{env.ANDROID_PLATFORM}} \ -DBUILD_SHARED_LIBS=ON cmake --build . --config ${{matrix.BUILD_TYPE}} cmake --build . --config ${{matrix.BUILD_TYPE}} --target install @@ -163,6 +167,52 @@ jobs: run: | sudo chmod 777 ${Qt6_DIR}/bin/qt-cmake + - name: build SeetaFace2 + working-directory: ${{env.SOURCE_DIR}} + run: | + if [ ! -f ${{env.INSTALL_DIR}}/lib/cmake/SeetaFaceDetectorConfig.cmake ]; then + git clone https://github.com/KangLin/SeetaFace2.git + cd SeetaFace2 + cmake -E make_directory build + cd build + ${Qt6_DIR}/bin/qt-cmake .. \ + -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} \ + -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} \ + -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake \ + -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${Qt6_DIR}/lib/cmake/Qt6/qt.toolchain.cmake \ + -DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TARGET_TRIPLET}} \ + -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON \ + -DVCPKG_APPLOCAL_DEPS=ON \ + -DANDROID_ABI=${{matrix.ANDROID_ABI}} \ + -DANDROID_PLATFORM=${{env.ANDROID_PLATFORM}} \ + -DBUILD_EXAMPLE=OFF + cmake --build . --config ${{matrix.BUILD_TYPE}} + cmake --build . --config ${{matrix.BUILD_TYPE}} --target install + fi + + - name: build libfacedetection + working-directory: ${{env.SOURCE_DIR}} + run: | + if [ ! -f ${{env.INSTALL_DIR}}/lib/cmake/facedetection/facedetectionConfig.cmake ]; then + git clone https://github.com/ShiqiYu/libfacedetection.git + cd libfacedetection + cmake -E make_directory build + cd build + ${Qt6_DIR}/bin/qt-cmake .. \ + -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} \ + -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} \ + -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake \ + -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${Qt6_DIR}/lib/cmake/Qt6/qt.toolchain.cmake \ + -DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TARGET_TRIPLET}} \ + -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON \ + -DVCPKG_APPLOCAL_DEPS=ON \ + -DANDROID_ABI=${{matrix.ANDROID_ABI}} \ + -DANDROID_PLATFORM=${{env.ANDROID_PLATFORM}} \ + -DBUILD_SHARED_LIBS=ON + cmake --build . --config ${{matrix.BUILD_TYPE}} + cmake --build . --config ${{matrix.BUILD_TYPE}} --target install + fi + - name: git clone RabbitCommon working-directory: ${{env.SOURCE_DIR}} run: | @@ -184,17 +234,14 @@ jobs: -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} \ -DCMAKE_INSTALL_PREFIX=`pwd`/install \ -DQT_HOST_PATH=${Qt6_DIR}/../gcc_64 \ - -DANDROID_PLATFORM=${{env.ANDROID_PLATFORM}} \ - -DANDROID_NATIVE_API_LEVEL=${{env.ANDROID_NATIVE_API_LEVEL}} \ -DQT_ANDROID_SIGN_APK=ON \ -DQT_ENABLE_VERBOSE_DEPLOYMENT=OFF \ -DQT_DIR=${Qt6_DIR} \ -DQt6LinguistTools_DIR=${Qt6_DIR}/../gcc_64/lib/cmake/Qt6LinguistTools \ -DVCPKG_VERBOSE=ON \ - -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON \ -DCMAKE_TOOLCHAIN_FILE="${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake" \ -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${Qt6_DIR}/lib/cmake/Qt6/qt.toolchain.cmake \ - -DVCPKG_TARGET_TRIPLET=${{env.VCPKG_DEFAULT_TRIPLET}} \ + -DVCPKG_TARGET_TRIPLET=${{env.VCPKG_TARGET_TRIPLET}} \ -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON \ -DVCPKG_APPLOCAL_DEPS=ON \ -DINSTALL_QT=ON