소스 검색

[cmake][android] improve fetching ANDROID_SYSROOT_LIB_SUBDIR

now it uses info from file bundled in the NDK
Andrey Filipenkov 7 달 전
부모
커밋
951be24f5e
2개의 변경된 파일3개의 추가작업 그리고 6개의 파일을 삭제
  1. 3 0
      CMakeLists.txt
  2. 0 6
      conanfile.py

+ 3 - 0
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")

+ 0 - 6
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()