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 53b5a1ba2..252e6db5b 100644
--- a/xmake/rules/qt/load.lua
+++ b/xmake/rules/qt/load.lua
@@ -414,7 +414,7 @@ function main(target, opt)
end
-- add includedirs, linkdirs
- _add_includedirs(target, path.join(qt.mkspecsdir, qt.mkspec))
+ local fallbackmkspec = ""
if target:is_plat("macosx") then
target:add("frameworks", "DiskArbitration", "IOKit", "CoreFoundation", "CoreGraphics", "OpenGL")
target:add("frameworks", "Carbon", "Foundation", "AppKit", "Security", "SystemConfiguration")
@@ -435,15 +435,18 @@ function main(target, opt)
target:set("frameworks", frameworks)
end
_add_includedirs(target, qt.includedir)
+ fallbackmkspec = "macx-clang"
target:add("linkdirs", qt.libdir)
elseif target:is_plat("linux") then
target:set("frameworks", nil)
_add_includedirs(target, qt.includedir)
+ fallbackmkspec = "linux-g++"
target:add("rpathdirs", qt.libdir)
target:add("linkdirs", qt.libdir)
elseif target:is_plat("windows") then
target:set("frameworks", nil)
_add_includedirs(target, qt.includedir)
+ fallbackmkspec = "win32-msvc"
target:add("linkdirs", qt.libdir)
target:add("syslinks", "ws2_32", "gdi32", "ole32", "advapi32", "shell32", "user32", "opengl32", "imm32", "winmm", "iphlpapi")
-- for debugger, https://github.com/xmake-io/xmake-vscode/issues/225
@@ -467,16 +470,19 @@ function main(target, opt)
else
_add_includedirs(target, qt.includedir)
end
+ fallbackmkspec = "win32-g++"
target:add("linkdirs", qt.libdir)
target:add("syslinks", "mingw32", "ws2_32", "gdi32", "ole32", "advapi32", "shell32", "user32", "iphlpapi")
elseif target:is_plat("android") then
target:set("frameworks", nil)
_add_includedirs(target, qt.includedir)
+ fallbackmkspec = "android-clang"
target:add("rpathdirs", qt.libdir)
target:add("linkdirs", qt.libdir)
elseif target:is_plat("wasm") then
target:set("frameworks", nil)
_add_includedirs(target, qt.includedir)
+ fallbackmkspec = "wasm-emscripten"
target:add("rpathdirs", qt.libdir)
target:add("linkdirs", qt.libdir)
-- add prebuilt object files in qt sdk.
@@ -510,6 +516,11 @@ function main(target, opt)
target:add("shflags", "-s EXPORTED_RUNTIME_METHODS=[\"UTF16ToString\",\"stringToUTF16\"]")
end
end
+ if qt.mkspec then
+ _add_includedirs(target, path.join(qt.mkspecsdir, qt.mkspec))
+ else
+ _add_includedirs(target, path.join(qt.mkspecsdir, fallbackmkspec))
+ end
-- is gui application?
if opt.gui then