From 3617691fe0cb3b29ffcdeb5567d85126de91ba15 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Thu, 16 Jun 2022 03:37:05 +0200 Subject: [PATCH] cmake: install Android.mk files for ndk-build This allows including SDL2 with ndk-build using NDK_MODULE_PATH + import-module An install tree looks like: ``` `-- share |-- aclocal | `-- sdl2.m4 |-- licenses | `-- SDL2 | `-- LICENSE.txt `-- ndk-modules |-- SDL2 | `-- Android.mk |-- SDL2-static | `-- Android.mk |-- SDL2main | `-- Android.mk `-- SDL2test `-- Android.mk ``` The generated `/share/ndk-modules/SDL2/Android.mk` contains: ``` LOCAL_PATH := $(call my-dir) _IMPORT_PREFIX := $(LOCAL_PATH)/../../.. include $(CLEAR_VARS) LOCAL_MODULE := SDL2 LOCAL_SRC_FILES := $(_IMPORT_PREFIX)/lib/libSDL2.so LOCAL_CPP_FEATURES := rtti exceptions LOCAL_EXPORT_C_INCLUDES := ${_IMPORT_PREFIX}/include\ ${_IMPORT_PREFIX}/include/SDL2 include $(PREBUILT_SHARED_LIBRARY)` ``` --- CMakeLists.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a8b20a6a..1194ecc1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3160,6 +3160,10 @@ if(NOT SDL2_DISABLE_INSTALL) NAMESPACE SDL2:: DESTINATION ${PKG_PREFIX} ) + if(ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.7) + install(EXPORT_ANDROID_MK SDL2Targets + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL2") + endif() endif() if(NOT WINDOWS_STORE AND NOT SDL2_DISABLE_SDL2MAIN) @@ -3168,6 +3172,10 @@ if(NOT SDL2_DISABLE_INSTALL) NAMESPACE SDL2:: DESTINATION ${PKG_PREFIX} ) + if(ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.7) + install(EXPORT_ANDROID_MK SDL2mainTargets + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL2main") + endif() endif() if(SDL_STATIC) @@ -3176,6 +3184,10 @@ if(NOT SDL2_DISABLE_INSTALL) NAMESPACE SDL2:: DESTINATION ${PKG_PREFIX} ) + if(ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.7) + install(EXPORT_ANDROID_MK SDL2staticTargets + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL2-static") + endif() endif() if(SDL_TEST) @@ -3184,6 +3196,10 @@ if(NOT SDL2_DISABLE_INSTALL) NAMESPACE SDL2:: DESTINATION ${PKG_PREFIX} ) + if(ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.7) + install(EXPORT_ANDROID_MK SDL2testTargets + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL2test") + endif() endif() install(