From 951be24f5e4a61a34b88cc51fbe28a0b8af3946f Mon Sep 17 00:00:00 2001 From: Andrey Filipenkov Date: Sun, 9 Mar 2025 13:41:27 +0300 Subject: [PATCH] [cmake][android] improve fetching ANDROID_SYSROOT_LIB_SUBDIR now it uses info from file bundled in the NDK --- CMakeLists.txt | 3 +++ conanfile.py | 6 ------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c87015c96..9ec500fc5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -626,6 +626,9 @@ elseif(ANDROID) include(GNUInstallDirs) set(LIB_DIR "libs/${ANDROID_ABI}") + file(READ "${CMAKE_ANDROID_NDK}/meta/abis.json" ndkAbiInfo) + string(JSON ANDROID_SYSROOT_LIB_SUBDIR GET "${ndkAbiInfo}" "${ANDROID_ABI}" "triple") + # required by Qt set(androidPackageSourceDir "${CMAKE_SOURCE_DIR}/android") set(androidQtBuildDir "${CMAKE_BINARY_DIR}/android-build") diff --git a/conanfile.py b/conanfile.py index 7a79d4de2..fe0601e9c 100644 --- a/conanfile.py +++ b/conanfile.py @@ -321,12 +321,6 @@ class VCMI(ConanFile): tc.variables["CONAN_RUNTIME_LIBS_FILE"] = self._generateRuntimeLibsFile() if self.settings.os == "Android": tc.variables["CMAKE_ANDROID_API"] = str(self.settings.os.api_level) - tc.variables["ANDROID_SYSROOT_LIB_SUBDIR"] = { - "armv7": "arm-linux-androideabi", - "armv8": "aarch64-linux-android", - "x86": "i686-linux-android", - "x86_64": "x86_64-linux-android", - }.get(str(self.settings.arch)) elif self.settings.os == "Windows": tc.variables["CONAN_RUNENV_SCRIPT"] = self._pathForCmake(os.path.join(self.build_folder, "conanrun.bat")) tc.generate()