From 3617691fe0cb3b29ffcdeb5567d85126de91ba15 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
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 4a8b20a6a64..1194ecc1cbc 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(