summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmake/rules/qt/load.lua13
1 files changed, 12 insertions, 1 deletions
diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua
index e05232ae9..93296f307 100644
--- a/xmake/rules/qt/load.lua
+++ b/xmake/rules/qt/load.lua
@@ -234,7 +234,18 @@ function main(target, opt)
-- add -subsystem:windows for windows platform
if is_plat("windows") then
target:add("defines", "_WINDOWS")
- target:add("ldflags", "-subsystem:windows", "-entry:mainCRTStartup", {force = true})
+ local subsystem = false
+ for _, ldflag in ipairs(target:get("ldflags")) do
+ ldflag = ldflag:lower()
+ if ldflag:find("[/%-]subsystem:") then
+ subsystem = true
+ break
+ end
+ end
+ -- maybe user will set subsystem to console
+ if not subsystem then
+ target:add("ldflags", "-subsystem:windows", "-entry:mainCRTStartup", {force = true})
+ end
elseif is_plat("mingw") then
target:add("ldflags", "-mwindows", {force = true})
end