diff options
| -rw-r--r-- | xmake/rules/platform/windows/def/xmake.lua | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/xmake/rules/platform/windows/def/xmake.lua b/xmake/rules/platform/windows/def/xmake.lua index d796402cd..3ff6415ed 100644 --- a/xmake/rules/platform/windows/def/xmake.lua +++ b/xmake/rules/platform/windows/def/xmake.lua @@ -26,13 +26,18 @@ rule("platform.windows.def") return end - local sourcebatch = target:sourcebatches()["platform.windows.def"] - if sourcebatch then - for _, sourcefile in ipairs(sourcebatch.sourcefiles) do - if target:is_plat("windows") then + if target:is_plat("windows") and target:has_tool("sh", "link") then + local sourcebatch = target:sourcebatches()["platform.windows.def"] + if sourcebatch then + for _, sourcefile in ipairs(sourcebatch.sourcefiles) do target:add("shflags", "/def:" .. path.translate(sourcefile), {force = true}) break; - elseif target:is_plat("mingw") then + end + end + elseif target:is_plat("mingw") then + local sourcebatch = target:sourcebatches()["platform.windows.def"] + if sourcebatch then + for _, sourcefile in ipairs(sourcebatch.sourcefiles) do target:add("shflags", path.translate(sourcefile), {force = true}) break; end |
