diff options
| author | ruki <[email protected]> | 2020-12-14 22:39:29 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-12-14 22:39:29 +0800 |
| commit | 4030bf655cd5bbf3af26b682078f4354eb2cb86c (patch) | |
| tree | 5e860e3c4abd5769489de9d6dcae6d514d29e03c | |
| parent | 007b2200be5b2a8e5d784829782b56793e93e572 (diff) | |
remove __vcvarsall
| -rw-r--r-- | xmake/modules/detect/sdks/find_dotnet.lua | 17 | ||||
| -rw-r--r-- | xmake/modules/detect/sdks/find_wdk.lua | 22 | ||||
| -rw-r--r-- | xmake/modules/detect/tools/find_devenv.lua | 12 | ||||
| -rw-r--r-- | xmake/plugins/project/vstudio/impl/vs201x.lua | 10 | ||||
| -rw-r--r-- | xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua | 6 | ||||
| -rw-r--r-- | xmake/toolchains/msvc/load.lua | 1 |
6 files changed, 33 insertions, 35 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 diff --git a/xmake/plugins/project/vstudio/impl/vs201x.lua b/xmake/plugins/project/vstudio/impl/vs201x.lua index b19ebadc6..f29f77124 100644 --- a/xmake/plugins/project/vstudio/impl/vs201x.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x.lua @@ -25,6 +25,7 @@ import("core.project.project") import("core.platform.platform") import("core.tool.compiler") import("core.tool.linker") +import("core.tool.toolchain") import("vs201x_solution") import("vs201x_vcxproj") import("vs201x_vcxproj_filters") @@ -37,9 +38,12 @@ function _make_targetinfo(mode, arch, target) local targetinfo = { mode = mode, arch = (arch == "x86" and "Win32" or "x64") } -- get sdk version - local vcvarsall = config.get("__vcvarsall") - if vcvarsall then - targetinfo.sdkver = (vcvarsall[arch] or {}).WindowsSDKVersion + local msvc = toolchain.load("msvc") + if msvc then + local vcvars = msvc:config("vcvars") + if vcvars then + targetinfo.sdkver = vcvars.WindowsSDKVersion + end end -- save c/c++ precompiled output file (.pch) diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua index 3a66a31d2..adfc52757 100644 --- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua @@ -39,10 +39,8 @@ function _get_toolset_ver(targetinfo, vsinfo) return toolset_ver end --- get platform sdk version +-- get platform sdk version from vcvars.WindowsSDKVersion function _get_platform_sdkver(target, vsinfo) - - -- get sdk version for vcvarsall[arch].WindowsSDKVersion local sdkver = nil for _, targetinfo in ipairs(target.info) do sdkver = targetinfo.sdkver @@ -50,8 +48,6 @@ function _get_platform_sdkver(target, vsinfo) break end end - - -- done return sdkver or vsinfo.sdk_version end diff --git a/xmake/toolchains/msvc/load.lua b/xmake/toolchains/msvc/load.lua index b112e2c80..a1d7c754d 100644 --- a/xmake/toolchains/msvc/load.lua +++ b/xmake/toolchains/msvc/load.lua @@ -61,6 +61,7 @@ function main(toolchain) _add_vsenv(toolchain, "LIB") _add_vsenv(toolchain, "INCLUDE") _add_vsenv(toolchain, "LIBPATH") + -- find_rc.lua need them _add_vsenv(toolchain, "WindowsSdkDir") _add_vsenv(toolchain, "WindowsSDKVersion") |
