From 0c72b9c5c712b27e39967d86cb89e81812c46a9b Mon Sep 17 00:00:00 2001 From: zjyhjqs Date: Thu, 6 Apr 2023 23:39:12 +0800 Subject: Add android compile option for xrepo --- xmake/modules/private/action/trybuild/xrepo.lua | 15 +++++++++++++ xmake/modules/private/xrepo/action/install.lua | 28 ++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/xmake/modules/private/action/trybuild/xrepo.lua b/xmake/modules/private/action/trybuild/xrepo.lua index 90689adad..5c06e5351 100644 --- a/xmake/modules/private/action/trybuild/xrepo.lua +++ b/xmake/modules/private/action/trybuild/xrepo.lua @@ -142,6 +142,21 @@ function _get_install_configs(argv) if config.get("ndk") then table.insert(argv, "--ndk=" .. config.get("ndk")) end + if option.get("ndk_sdkver") then + table.insert(argv, "--ndk_sdkver=" .. option.get("ndk_sdkver")) + end + if option.get("android_sdk") then + table.insert(argv, "--android_sdk=" .. option.get("android_sdk")) + end + if option.get("build_toolver") then + table.insert(argv, "--build_toolver=" .. option.get("build_toolver")) + end + if option.get("ndk_stdcxx") then + table.insert(argv, "--ndk_stdcxx=" .. option.get("ndk_stdcxx")) + end + if option.get("ndk_cxxstl") then + table.insert(argv, "--ndk_cxxstl=" .. option.get("ndk_cxxstl")) + end -- mingw if config.get("mingw") then diff --git a/xmake/modules/private/xrepo/action/install.lua b/xmake/modules/private/xrepo/action/install.lua index 6eddea12e..99764ab77 100644 --- a/xmake/modules/private/xrepo/action/install.lua +++ b/xmake/modules/private/xrepo/action/install.lua @@ -54,7 +54,18 @@ function menu_options() {nil, "vs_sdkver", "kv", nil, "The Windows SDK Version of Visual Studio" , " e.g. --vs_sdkver=10.0.15063.0" }, {category = "Android NDK Configuration" }, - {nil, "ndk", "kv", nil, "Set the android NDK directory." }, + {nil, "ndk", "kv", nil, "The NDK directory" }, + {nil, "ndk_sdkver", "kv", nil, "The SDK Version for NDK (default: auto)" }, + {nil, "android_sdk", "kv", nil, "The Android SDK Directory" }, + {nil, "build_toolver", "kv", nil, "The Build Tool Version of Android SDK" }, + {nil, "ndk_stdcxx", "kv", nil, "Use stdc++ library for NDK" }, + {nil, "ndk_cxxstl", "kv", nil, "The stdc++ stl library for NDK", + " - c++_static", + " - c++_shared", + " - gnustl_static", + " - gnustl_shared", + " - stlport_shared", + " - stlport_static" }, {category = "Cross Compilation Configuration" }, {nil, "sdk", "kv", nil, "Set the SDK directory of cross toolchain." }, {nil, "toolchain", "kv", nil, "Set the toolchain name." }, @@ -171,6 +182,21 @@ function _install_packages(packages) if option.get("ndk") then table.insert(config_argv, "--ndk=" .. option.get("ndk")) end + if option.get("ndk_sdkver") then + table.insert(config_argv, "--ndk_sdkver=" .. option.get("ndk_sdkver")) + end + if option.get("android_sdk") then + table.insert(config_argv, "--android_sdk=" .. option.get("android_sdk")) + end + if option.get("build_toolver") then + table.insert(config_argv, "--build_toolver=" .. option.get("build_toolver")) + end + if option.get("ndk_stdcxx") then + table.insert(config_argv, "--ndk_stdcxx=" .. option.get("ndk_stdcxx")) + end + if option.get("ndk_cxxstl") then + table.insert(config_argv, "--ndk_cxxstl=" .. option.get("ndk_cxxstl")) + end -- for cross toolchain if option.get("sdk") then table.insert(config_argv, "--sdk=" .. option.get("sdk")) -- cgit v1.3.1