diff options
| author | ruki <[email protected]> | 2024-07-09 22:53:03 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2024-07-09 22:53:03 +0800 |
| commit | c74b2ffe7cac1192bc6d567f5c2b9f086a78c6aa (patch) | |
| tree | c056093bc01528d9952b9672513f079f5ad423a9 | |
| parent | 3f3fc063d40ca7114e21b511bb033d048a7af963 (diff) | |
fix ifx env
| -rw-r--r-- | xmake/modules/detect/tools/find_ifx.lua | 29 | ||||
| -rw-r--r-- | xmake/toolchains/ifx/load.lua | 27 |
2 files changed, 32 insertions, 24 deletions
diff --git a/xmake/modules/detect/tools/find_ifx.lua b/xmake/modules/detect/tools/find_ifx.lua index d6225d67f..135b74f06 100644 --- a/xmake/modules/detect/tools/find_ifx.lua +++ b/xmake/modules/detect/tools/find_ifx.lua @@ -37,10 +37,29 @@ import("lib.detect.find_programver") -- function main(opt) opt = opt or {} - local program = find_program(opt.program or "ifx", opt) - local version = nil - if program and opt.version then - version = find_programver(program, opt) + if is_host("windows") then + -- find program + opt.check = opt.check or function (program) os.runv(program, {"/help"}, {envs = opt.envs}) end + local program = find_program(opt.program or "ifx.exe", opt) + + -- find program version + local version = nil + if program and opt and opt.version then + opt.command = opt.command or function () local _, info = os.iorunv(program, {"/help"}, {envs = opt.envs}); return info end + opt.parse = opt.parse or function (output) return output:match("Version (%d+%.?%d*%.?%d*.-)%s") end + version = find_programver(program, opt) + end + return program, version + else + -- find program + local program = find_program(opt.program or "ifx", opt) + + -- find program version + local version = nil + if program and opt.version then + version = find_programver(program, opt) + end + return program, version end - return program, version end + diff --git a/xmake/toolchains/ifx/load.lua b/xmake/toolchains/ifx/load.lua index 90fc7910c..217b574fd 100644 --- a/xmake/toolchains/ifx/load.lua +++ b/xmake/toolchains/ifx/load.lua @@ -79,27 +79,16 @@ end function _load_intel_on_windows(toolchain) -- set toolset - if toolchain:is_plat("windows") then - toolchain:set("toolset", "cc", "ifx.exe") - toolchain:set("toolset", "cxx", "ifx.exe") - toolchain:set("toolset", "mrc", "rc.exe") - if toolchain:is_arch("x64") then - toolchain:set("toolset", "as", "ml64.exe") - else - toolchain:set("toolset", "as", "ml.exe") - end - toolchain:set("toolset", "ld", "link.exe") - toolchain:set("toolset", "sh", "link.exe") - toolchain:set("toolset", "ar", "link.exe") + toolchain:set("toolset", "fc", "ifx.exe") + toolchain:set("toolset", "mrc", "rc.exe") + if toolchain:is_arch("x64") then + toolchain:set("toolset", "as", "ml64.exe") else - toolchain:set("toolset", "cc", "ifx") - toolchain:set("toolset", "cxx", "icpx", "ifx") - toolchain:set("toolset", "ld", "icpx", "ifx") - toolchain:set("toolset", "sh", "icpx", "ifx") - toolchain:set("toolset", "ar", "ar") - toolchain:set("toolset", "strip", "strip") - toolchain:set("toolset", "as", "ifx") + toolchain:set("toolset", "as", "ml.exe") end + toolchain:set("toolset", "fcld", "ifx.exe") + toolchain:set("toolset", "fcsh", "ifx.exe") + toolchain:set("toolset", "ar", "link.exe") -- add vs/ifx environments local expect_vars = {"PATH", "LIB", "INCLUDE", "LIBPATH"} |
