--!A cross-platform build utility based on Lua -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- -- Copyright (C) 2015-present, Xmake Open Source Community. -- -- @author ruki -- @file configurations.lua -- -- get arch for conan function arch(arch) local map = {x86_64 = "x86_64", x64 = "x86_64", i386 = "x86", x86 = "x86", armv7 = "armv7", ["armv7-a"] = "armv7", -- for android, deprecated ["armeabi"] = "armv7", -- for android, removed in ndk r17 ["armeabi-v7a"] = "armv7", -- for android armv7s = "armv7s", -- for iphoneos arm64 = "armv8", -- for iphoneos ["arm64-v8a"] = "armv8", -- for android mips = "mips", mips64 = "mips64", wasm32 = "wasm"} return assert(map[arch], "unknown arch(%s)!", arch) end -- get os platform for conan function plat(plat) local map = {macosx = "Macos", windows = "Windows", mingw = "Windows", linux = "Linux", cross = "Linux", iphoneos = "iOS", android = "Android", wasm = "Emscripten"} return assert(map[plat], "unknown plat(%s)!", plat) end -- get build type function build_type(mode) if mode == "debug" then return "Debug" else return "Release" end end -- get configurations function main() return { build = {description = "Use it to choose if you want to build from sources.", default = "missing", values = {"all", "never", "missing", "outdated"}}, remote = {description = "Set the conan remote server."}, options = {description = "Set the options values, e.g. shared=True"}, settings = {description = "Set the host settings for conan."}, settings_host = {description = "Set the host settings for conan."}, settings_build = {description = "Set the build settings for conan."}, imports = {description = "Set the imports for conan 1.x, it has been deprecated in conan 2.x."}, build_requires = {description = "Set the build requires for conan."}, conf = {description = "Set the host configurations for conan, e.g. tools.microsoft.bash:subsystem=msys2"}, conf_host = {description = "Set the host configurations for conan, e.g. tools.microsoft.bash:subsystem=msys2"}, conf_build = {description = "Set the build configurations for conan, e.g. tools.microsoft.bash:subsystem=msys2"}, } end