summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author白喵 <[email protected]>2024-07-26 12:21:07 +0800
committer白喵 <[email protected]>2024-07-26 12:21:07 +0800
commitb9b4d6ca1a25efb04b657353cf9d92df40db9468 (patch)
treec47342309d9daed74bdeac2d388c96601bec582d
parenta19560c978abc716a9c34e06579b49d697a4a64d (diff)
set vs_toolset for msbuild
-rw-r--r--xmake/modules/package/tools/msbuild.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/xmake/modules/package/tools/msbuild.lua b/xmake/modules/package/tools/msbuild.lua
index c46e76479..4201e8c0e 100644
--- a/xmake/modules/package/tools/msbuild.lua
+++ b/xmake/modules/package/tools/msbuild.lua
@@ -20,10 +20,12 @@
-- imports
import("core.base.option")
+import("core.project.config")
import("core.project.project")
import("core.tool.toolchain")
import("lib.detect.find_tool")
import("private.utils.upgrade_vsproj")
+import("private.utils.toolchain", {alias = "toolchain_utils"})
-- get the number of parallel jobs
function _get_parallel_njobs(opt)
@@ -65,6 +67,12 @@ function _get_configs(package, configs, opt)
if not configs_str:find("p:Platform=", 1, true) then
table.insert(configs, "-p:Platform=" .. _get_vsarch(package))
end
+ if not configs_str:find("p:PlatformToolset=", 1, true) then
+ local vs_toolset = toolchain_utils.get_vs_toolset_ver(_get_msvc(package):config("vs_toolset") or config.get("vs_toolset"))
+ if vs_toolset then
+ table.insert(configs, "/p:PlatformToolset=" .. vs_toolset)
+ end
+ end
if project.policy("package.msbuild.multi_tool_task") or package:policy("package.msbuild.multi_tool_task") then
table.insert(configs, "/p:UseMultiToolTask=true")
table.insert(configs, "/p:EnforceProcessCountAcrossBuilds=true")