summaryrefslogtreecommitdiff
path: root/xmake/modules/detect
diff options
context:
space:
mode:
authorruki <[email protected]>2020-12-14 22:39:29 +0800
committerruki <[email protected]>2020-12-14 22:39:29 +0800
commit4030bf655cd5bbf3af26b682078f4354eb2cb86c (patch)
tree5e860e3c4abd5769489de9d6dcae6d514d29e03c /xmake/modules/detect
parent007b2200be5b2a8e5d784829782b56793e93e572 (diff)
remove __vcvarsall
Diffstat (limited to 'xmake/modules/detect')
-rw-r--r--xmake/modules/detect/sdks/find_dotnet.lua17
-rw-r--r--xmake/modules/detect/sdks/find_wdk.lua22
-rw-r--r--xmake/modules/detect/tools/find_devenv.lua12
3 files changed, 24 insertions, 27 deletions
diff --git a/xmake/modules/detect/sdks/find_dotnet.lua b/xmake/modules/detect/sdks/find_dotnet.lua
index bb8180f57..284925f04 100644
--- a/xmake/modules/detect/sdks/find_dotnet.lua
+++ b/xmake/modules/detect/sdks/find_dotnet.lua
@@ -21,6 +21,7 @@
-- imports
import("lib.detect.cache")
import("lib.detect.find_file")
+import("core.tool.toolchain")
import("core.base.option")
import("core.base.global")
import("core.project.config")
@@ -28,14 +29,16 @@ import("core.project.config")
-- find dotnet directory
function _find_sdkdir(sdkdir)
- -- get sdk directory from vsvars
+ -- get sdk directory from vcvars
if not sdkdir then
- local arch = config.arch()
- local vcvarsall = config.get("__vcvarsall")
- if vcvarsall then
- sdkdir = (vcvarsall[arch] or {}).WindowsSdkDir
- if sdkdir then
- sdkdir = path.join(path.directory(path.translate(sdkdir)), "NETFXSDK")
+ local msvc = toolchain.load("msvc")
+ if msvc and msvc:check() then
+ local vcvars = msvc:config("vcvars")
+ if vcvars then
+ sdkdir = vcvars.WindowsSdkDir
+ if sdkdir then
+ sdkdir = path.join(path.directory(path.translate(sdkdir)), "NETFXSDK")
+ end
end
end
end
diff --git a/xmake/modules/detect/sdks/find_wdk.lua b/xmake/modules/detect/sdks/find_wdk.lua
index f91e9a1b7..d9844146a 100644
--- a/xmake/modules/detect/sdks/find_wdk.lua
+++ b/xmake/modules/detect/sdks/find_wdk.lua
@@ -24,6 +24,7 @@ import("lib.detect.find_file")
import("core.base.option")
import("core.base.global")
import("core.project.config")
+import("core.tool.toolchain")
import("detect.sdks.find_vstudio")
-- find WDK directory
@@ -34,24 +35,15 @@ function _find_sdkdir(sdkdir)
sdkdir = os.getenv("WindowsSdkDir")
end
- -- get sdk directory from vsvars
+ -- get sdk directory from vcvars
if not sdkdir then
- local arch = config.arch() or os.arch()
- local vcvarsall = config.get("__vcvarsall")
- if not vcvarsall then
- local vstudio = find_vstudio()
- if vstudio then
- for _, vsinfo in pairs(vstudio) do
- if vsinfo.vcvarsall then
- vcvarsall = vsinfo.vcvarsall
- break
- end
- end
+ local msvc = toolchain.load("msvc")
+ if msvc and msvc:check() then
+ local vcvars = msvc:config("vcvars")
+ if vcvars then
+ sdkdir = vcvars.WindowsSdkDir
end
end
- if vcvarsall then
- sdkdir = (vcvarsall[arch] or {}).WindowsSdkDir
- end
end
return sdkdir
end
diff --git a/xmake/modules/detect/tools/find_devenv.lua b/xmake/modules/detect/tools/find_devenv.lua
index 745c26099..1111c92a3 100644
--- a/xmake/modules/detect/tools/find_devenv.lua
+++ b/xmake/modules/detect/tools/find_devenv.lua
@@ -20,6 +20,7 @@
-- imports
import("core.project.config")
+import("core.tool.toolchain")
-- find devenv
--
@@ -48,11 +49,12 @@ function main(opt)
-- e.g. C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
--
local program = nil
- local vcvarsall = config.get("__vcvarsall")
- if vcvarsall then
- for _, vsvars in pairs(vcvarsall) do
- if vsvars.DevEnvdir and os.isexec(path.join(vsvars.DevEnvdir, "devenv.exe")) then
- program = path.join(vsvars.DevEnvdir, "devenv.exe")
+ local msvc = toolchain.load("msvc")
+ if msvc then
+ local vcvars = msvc:config("vcvars")
+ if vcvars then
+ if vcvars.DevEnvdir and os.isexec(path.join(vcvars.DevEnvdir, "devenv.exe")) then
+ program = path.join(vcvars.DevEnvdir, "devenv.exe")
end
end
end