summaryrefslogtreecommitdiff
path: root/xmake/toolchains/msvc/load.lua
diff options
context:
space:
mode:
authorxq114 <[email protected]>2021-11-06 18:55:28 +0800
committerxq114 <[email protected]>2021-11-06 18:55:28 +0800
commit6bbb5f94c3beadf5d5dfc6db59d05a686647a39b (patch)
tree7909ee3cf27c5bb190fd7f80c7e36dbb07d9ddbc /xmake/toolchains/msvc/load.lua
parentb7adc419e76eef4604f778b86732469a4e9c0471 (diff)
improve find_vstudio.lua as well
Diffstat (limited to 'xmake/toolchains/msvc/load.lua')
-rw-r--r--xmake/toolchains/msvc/load.lua35
1 files changed, 9 insertions, 26 deletions
diff --git a/xmake/toolchains/msvc/load.lua b/xmake/toolchains/msvc/load.lua
index f6547fed0..ee61b46ab 100644
--- a/xmake/toolchains/msvc/load.lua
+++ b/xmake/toolchains/msvc/load.lua
@@ -56,32 +56,15 @@ function main(toolchain)
toolchain:set("toolset", "ar", "link.exe")
-- add vs environments
- _add_vsenv(toolchain, "PATH")
- _add_vsenv(toolchain, "LIB")
- _add_vsenv(toolchain, "INCLUDE")
- _add_vsenv(toolchain, "LIBPATH")
- _add_vsenv(toolchain, "WindowsSdkDir")
- _add_vsenv(toolchain, "WindowsSDKVersion")
- _add_vsenv(toolchain, "WindowsSdkBinPath")
- _add_vsenv(toolchain, "WindowsSDKLibVersion")
- _add_vsenv(toolchain, "WindowsSdkVerBinPath")
- _add_vsenv(toolchain, "DevEnvDir")
- _add_vsenv(toolchain, "ExtensionSdkDir")
- _add_vsenv(toolchain, "VCIDEInstallDir")
- _add_vsenv(toolchain, "VCINSTALLDIR")
- _add_vsenv(toolchain, "VCToolsInstallDir")
- _add_vsenv(toolchain, "VCToolsRedistDir")
- _add_vsenv(toolchain, "VCToolsVersion")
- _add_vsenv(toolchain, "VisualStudioVersion")
- _add_vsenv(toolchain, "VSINSTALLDIR")
- _add_vsenv(toolchain, "VSCMD_VER")
- _add_vsenv(toolchain, "VSCMD_ARG_app_plat")
- _add_vsenv(toolchain, "VSCMD_ARG_HOST_ARCH")
- _add_vsenv(toolchain, "VSCMD_ARG_TGT_ARCH")
- _add_vsenv(toolchain, "VS140COMNTOOLS")
- _add_vsenv(toolchain, "VS150COMNTOOLS")
- _add_vsenv(toolchain, "VS160COMNTOOLS")
- _add_vsenv(toolchain, "VS170COMNTOOLS")
+ local expect_vars = {"PATH", "LIB", "INCLUDE", "LIBPATH"}
+ for _, name in ipairs(expect_vars) do
+ _add_vsenv(toolchain, name)
+ end
+ for _, name in ipairs(find_vstudio.get_vcvars()) do
+ if not table.contains(expect_vars, name:upper()) then
+ _add_vsenv(toolchain, name)
+ end
+ end
-- add some default flags
toolchain:add("cl.cxxflags", "/EHsc")