mirror of
				https://github.com/Ryujinx/SDL.git
				synced 2025-11-04 15:44:58 +00:00 
			
		
		
		
	ci: Test cmake build script on Android
android
This commit is contained in:
		
							parent
							
								
									18206446bf
								
							
						
					
					
						commit
						86f50ae7d7
					
				
							
								
								
									
										50
									
								
								.github/workflows/android.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/workflows/android.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -4,11 +4,57 @@ on: [push, pull_request]
 | 
			
		|||
 | 
			
		||||
jobs:
 | 
			
		||||
  android:
 | 
			
		||||
    name: ${{ matrix.platform.name }}
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        platform:
 | 
			
		||||
          - { name: Android.mk  }
 | 
			
		||||
          - { name: CMake, cmake: '-DCMAKE_SYSTEM_PROCESSOR=aarch64 -DANDROID_PLATFORM=android-23  -DCMAKE_SYSTEM_VERSION=23 ' }
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
      - uses: nttld/setup-ndk@v1
 | 
			
		||||
        id: setup_ndk
 | 
			
		||||
        with:
 | 
			
		||||
          ndk-version: r21e
 | 
			
		||||
      - name: Build
 | 
			
		||||
        run: ./build-scripts/androidbuildlibs.sh
 | 
			
		||||
      - name: Build (Android.mk)
 | 
			
		||||
        if: ${{ matrix.platform.name == 'Android.mk' }}
 | 
			
		||||
        run: |
 | 
			
		||||
          ./build-scripts/androidbuildlibs.sh
 | 
			
		||||
      - name: Setup (CMake)
 | 
			
		||||
        if: ${{ matrix.platform.name == 'CMake' }}
 | 
			
		||||
        run: |
 | 
			
		||||
          sudo apt-get update
 | 
			
		||||
          sudo apt-get install ninja-build
 | 
			
		||||
      - name: Configure (CMake)
 | 
			
		||||
        if: ${{ matrix.platform.name == 'CMake' }}
 | 
			
		||||
        run: |
 | 
			
		||||
          cmake -B build \
 | 
			
		||||
            -DCMAKE_TOOLCHAIN_FILE=${{ steps.setup_ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake \
 | 
			
		||||
            ${{ matrix.platform.cmake }} \
 | 
			
		||||
            -DSDL_STATIC_PIC=ON \
 | 
			
		||||
            -DCMAKE_INSTALL_PREFIX=prefix \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
            -GNinja
 | 
			
		||||
      - name: Build (CMake)
 | 
			
		||||
        if: ${{ matrix.platform.name == 'CMake' }}
 | 
			
		||||
        run: |
 | 
			
		||||
          cmake --build build --config Release --parallel --verbose
 | 
			
		||||
      - name: Install (CMake)
 | 
			
		||||
        if: ${{ matrix.platform.name == 'CMake' }}
 | 
			
		||||
        run: |
 | 
			
		||||
          cmake --install build --config Release
 | 
			
		||||
          echo "SDL2_DIR=$(pwd)/prefix" >> $GITHUB_ENV
 | 
			
		||||
          ( cd prefix; find ) | LC_ALL=C sort -u
 | 
			
		||||
      - name: Verify CMake configuration files
 | 
			
		||||
        if: ${{ matrix.platform.name == 'CMake' }}
 | 
			
		||||
        run: |
 | 
			
		||||
          cmake -S cmake/test -B cmake_config_build -G Ninja \
 | 
			
		||||
            -DCMAKE_TOOLCHAIN_FILE=${{ steps.setup_ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake \
 | 
			
		||||
            ${{ matrix.platform.cmake }} \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
            -DCMAKE_PREFIX_PATH=${{ env.SDL2_DIR }}
 | 
			
		||||
          cmake --build cmake_config_build --verbose
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,6 +15,9 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL2Targets.cmake")
 | 
			
		|||
  set(SDL2_SDL2_FOUND TRUE)
 | 
			
		||||
endif()
 | 
			
		||||
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL2staticTargets.cmake")
 | 
			
		||||
  if(ANDROID)
 | 
			
		||||
    enable_language(CXX)
 | 
			
		||||
  endif()
 | 
			
		||||
  include("${CMAKE_CURRENT_LIST_DIR}/SDL2staticTargets.cmake")
 | 
			
		||||
  set(SDL2_SDL2-static_FOUND TRUE)
 | 
			
		||||
endif()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,15 @@
 | 
			
		|||
cmake_minimum_required(VERSION 3.12)
 | 
			
		||||
project(sdl_test LANGUAGES C)
 | 
			
		||||
 | 
			
		||||
if(ANDROID)
 | 
			
		||||
    macro(add_executable NAME)
 | 
			
		||||
        set(args ${ARGN})
 | 
			
		||||
        list(REMOVE_ITEM args WIN32)
 | 
			
		||||
        add_library(${NAME} SHARED ${args})
 | 
			
		||||
        unset(args)
 | 
			
		||||
    endmacro()
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
cmake_policy(SET CMP0074 NEW)
 | 
			
		||||
 | 
			
		||||
# Override CMAKE_FIND_ROOT_PATH_MODE to allow search for SDL2 outside of sysroot
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue