diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2e589882..2cea4988 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,50 @@ jobs: - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 -t tomato + android: + timeout-minutes: 30 + # contains sections copied from sdl repo + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - uses: nttld/setup-ndk@v1 + id: setup_ndk + with: + local-cache: true + ndk-version: r26d + + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + + - name: update vcpkg + run: | + git clone https://github.com/microsoft/vcpkg.git + + - name: Install Dependencies (host) + run: sudo apt update && sudo apt -y install cmake pkg-config nasm + + - name: Install Dependencies (target) + env: + ANDROID_NDK_HOME: ${{steps.setup_ndk.outputs.ndk-path}} + run: vcpkg install --triplet arm64-android --overlay-ports=vcpkg/ports libsodium opus libvpx libpng libjpeg-turbo + + # vcpkg scripts root /usr/local/share/vcpkg/scripts + - name: Configure CMake + env: + ANDROID_NDK_HOME: ${{steps.setup_ndk.outputs.ndk-path}} + #run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=${{steps.setup_ndk.outputs.ndk-path}}/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=23 -DANDROID_ABI=arm64-v8a + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=arm64-android -DANDROID=1 -DANDROID_PLATFORM=23 -DANDROID_ABI=arm64-v8a -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${{steps.setup_ndk.outputs.ndk-path}}/build/cmake/android.toolchain.cmake -DSDL3IMAGE_JPG_SHARED=OFF -DSDL3IMAGE_PNG_SHARED=OFF -DTOMATO_MAIN_SO=ON + + - name: Build (tomato) + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 -t tomato + macos: timeout-minutes: 10