1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
--!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
|