From 7e3116f4d9206f221e60d5627bc0d21382d4a3d7 Mon Sep 17 00:00:00 2001 From: xiaobfly Date: Wed, 21 Feb 2024 15:20:45 +0800 Subject: fixed #4753 --- xmake/rules/qt/load.lua | 10 ++++++---- xmake/rules/wdk/load.lua | 20 ++++++++++++-------- xmake/rules/winsdk/xmake.lua | 10 ++++++---- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua index 593a541d9..070ae2c0d 100644 --- a/xmake/rules/qt/load.lua +++ b/xmake/rules/qt/load.lua @@ -482,10 +482,12 @@ function main(target, opt) target:add("defines", "_WINDOWS") local subsystem = false for _, ldflag in ipairs(target:get("ldflags")) do - ldflag = ldflag:lower() - if ldflag:find("[/%-]subsystem:") then - subsystem = true - break + if type(ldflag) == "string" then + ldflag = ldflag:lower() + if ldflag:find("[/%-]subsystem:") then + subsystem = true + break + end end end -- maybe user will set subsystem to console diff --git a/xmake/rules/wdk/load.lua b/xmake/rules/wdk/load.lua index d309dbb4e..62cf99467 100644 --- a/xmake/rules/wdk/load.lua +++ b/xmake/rules/wdk/load.lua @@ -79,10 +79,12 @@ function driver_kmdf(target) -- set default driver entry if does not exist local entry = false for _, ldflag in ipairs(target:get("ldflags")) do - ldflag = ldflag:lower() - if ldflag:find("[/%-]entry:") then - entry = true - break + if type(ldflag) == "string" then + ldflag = ldflag:lower() + if ldflag:find("[/%-]entry:") then + entry = true + break + end end end if not entry then @@ -120,10 +122,12 @@ function driver_wdm(target) -- set default driver entry if does not exist local entry = false for _, ldflag in ipairs(target:get("ldflags")) do - ldflag = ldflag:lower() - if ldflag:find("[/%-]entry:") then - entry = true - break + if type(ldflag) == "string" then + ldflag = ldflag:lower() + if ldflag:find("[/%-]entry:") then + entry = true + break + end end end if not entry then diff --git a/xmake/rules/winsdk/xmake.lua b/xmake/rules/winsdk/xmake.lua index 297dfda75..b782c4f1f 100644 --- a/xmake/rules/winsdk/xmake.lua +++ b/xmake/rules/winsdk/xmake.lua @@ -40,10 +40,12 @@ rule("win.sdk.application") else local subsystem = false for _, ldflag in ipairs(target:get("ldflags")) do - ldflag = ldflag:lower() - if ldflag:find("[/%-]subsystem:") then - subsystem = true - break + if type(ldflag) == "string" then + ldflag = ldflag:lower() + if ldflag:find("[/%-]subsystem:") then + subsystem = true + break + end end end if not subsystem then -- cgit v1.3.1