diff options
| author | ruki <[email protected]> | 2020-12-14 21:00:04 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-12-14 21:00:04 +0800 |
| commit | 007b2200be5b2a8e5d784829782b56793e93e572 (patch) | |
| tree | 403978ce861800594e7904f0c609e92613c2a480 | |
| parent | 361eda0cd491f887acfb842567f498a553249ad7 (diff) | |
improve find_rc
| -rw-r--r-- | xmake/core/tool/tool.lua | 4 | ||||
| -rw-r--r-- | xmake/modules/detect/tools/find_rc.lua | 16 | ||||
| -rw-r--r-- | xmake/toolchains/msvc/load.lua | 4 |
3 files changed, 9 insertions, 15 deletions
diff --git a/xmake/core/tool/tool.lua b/xmake/core/tool/tool.lua index 5e674fc5d..bd90c0658 100644 --- a/xmake/core/tool/tool.lua +++ b/xmake/core/tool/tool.lua @@ -229,11 +229,7 @@ function tool.load(kind, opt) if not instance then return nil, errors end - - -- save instance to the cache tool._TOOLS[cachekey] = instance - - -- ok return instance end diff --git a/xmake/modules/detect/tools/find_rc.lua b/xmake/modules/detect/tools/find_rc.lua index 5edd8d69c..a36cd25bb 100644 --- a/xmake/modules/detect/tools/find_rc.lua +++ b/xmake/modules/detect/tools/find_rc.lua @@ -57,16 +57,12 @@ function main(opt) -- -- e.g. C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64 -- - local arch = opt.arch or config.arch() or os.arch() - local vcvarsall = config.get("__vcvarsall") - if vcvarsall then - local vcvars = vcvarsall[arch] - if vcvars and vcvars.WindowsSdkDir and vcvars.WindowsSDKVersion then - local bindir = path.join(vcvars.WindowsSdkDir, "bin", vcvars.WindowsSDKVersion, arch) - if os.isdir(bindir) then - opt.paths = opt.paths or {} - table.insert(opt.paths, bindir) - end + local envs = opt.envs + if envs and envs.WindowsSdkDir and envs.WindowsSDKVersion then + local bindir = path.join(envs.WindowsSdkDir, "bin", envs.WindowsSDKVersion, arch) + if os.isdir(bindir) then + opt.paths = opt.paths or {} + table.insert(opt.paths, bindir) end end diff --git a/xmake/toolchains/msvc/load.lua b/xmake/toolchains/msvc/load.lua index 95ebe0cf1..b112e2c80 100644 --- a/xmake/toolchains/msvc/load.lua +++ b/xmake/toolchains/msvc/load.lua @@ -35,7 +35,7 @@ function _add_vsenv(toolchain, name) -- get the paths for the vs environment local new = vcvars[name] if new then - toolchain:add("runenvs", name:upper(), path.splitenv(new)) + toolchain:add("runenvs", name, table.unwrap(path.splitenv(new))) end end @@ -61,6 +61,8 @@ function main(toolchain) _add_vsenv(toolchain, "LIB") _add_vsenv(toolchain, "INCLUDE") _add_vsenv(toolchain, "LIBPATH") + _add_vsenv(toolchain, "WindowsSdkDir") + _add_vsenv(toolchain, "WindowsSDKVersion") -- add some default flags toolchain:add("cxxflags", "/EHsc") |
