summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-09-04 23:56:59 +0800
committerruki <[email protected]>2024-09-04 23:56:59 +0800
commitaf3f8a02af233ee1f0884336d0bbf782d3223fb9 (patch)
treed9904292b3a8266b4ab0f7c6ebe616064b385060
parentc9c01c9b0a820462644ed119c37c7618355c9b07 (diff)
add build settings for conan
-rw-r--r--xmake/modules/package/manager/conan/configurations.lua4
-rw-r--r--xmake/modules/package/manager/conan/v2/install_package.lua10
2 files changed, 11 insertions, 3 deletions
diff --git a/xmake/modules/package/manager/conan/configurations.lua b/xmake/modules/package/manager/conan/configurations.lua
index 8e03cf9a3..7b900b983 100644
--- a/xmake/modules/package/manager/conan/configurations.lua
+++ b/xmake/modules/package/manager/conan/configurations.lua
@@ -25,7 +25,9 @@ function main()
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 build settings for conan."},
+ 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."}
}
diff --git a/xmake/modules/package/manager/conan/v2/install_package.lua b/xmake/modules/package/manager/conan/v2/install_package.lua
index 3c2a7a2c5..f4a8de9e5 100644
--- a/xmake/modules/package/manager/conan/v2/install_package.lua
+++ b/xmake/modules/package/manager/conan/v2/install_package.lua
@@ -321,12 +321,18 @@ function main(conan, name, opt)
end
end
- -- set custom settings
- for _, setting in ipairs(configs.settings) do
+ -- set custom host settings
+ for _, setting in ipairs(configs.settings or configs.settings_host) do
table.insert(argv, "-s")
table.insert(argv, setting)
end
+ -- set custom build settings
+ for _, setting in ipairs(configs.settings_build) do
+ table.insert(argv, "-s:b")
+ table.insert(argv, setting)
+ end
+
-- set remote
if configs.remote then
table.insert(argv, "-r")