XMake: Improve Qt packages
This commit is contained in:
parent
6611cdf72e
commit
874f87f079
|
|
@ -6,6 +6,9 @@ package("aqt")
|
||||||
set_license("MIT")
|
set_license("MIT")
|
||||||
|
|
||||||
if is_host("windows") then
|
if is_host("windows") then
|
||||||
|
add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true})
|
||||||
|
add_configs("vs_runtime", {description = "Set vs compiler runtime.", default = "MD", readonly = true})
|
||||||
|
|
||||||
if os.arch() == "x86" then
|
if os.arch() == "x86" then
|
||||||
add_urls("https://github.com/miurahr/aqtinstall/releases/download/v$(version)/aqt_x86.exe")
|
add_urls("https://github.com/miurahr/aqtinstall/releases/download/v$(version)/aqt_x86.exe")
|
||||||
add_versions("2.0.6", "b980985cfeb1cefef1d2ebab91ae4e648873a27fae8831deff8144661480c56a")
|
add_versions("2.0.6", "b980985cfeb1cefef1d2ebab91ae4e648873a27fae8831deff8144661480c56a")
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@ package("qt5base")
|
||||||
set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.")
|
set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.")
|
||||||
set_license("LGPL-3")
|
set_license("LGPL-3")
|
||||||
|
|
||||||
|
add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true})
|
||||||
|
add_configs("vs_runtime", {description = "Set vs compiler runtime.", default = "MD", readonly = true})
|
||||||
|
|
||||||
add_versions("5.15.2", "dummy")
|
add_versions("5.15.2", "dummy")
|
||||||
add_versions("5.12.5", "dummy")
|
add_versions("5.12.5", "dummy")
|
||||||
|
|
||||||
|
|
@ -51,7 +54,6 @@ package("qt5base")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
on_install("windows", "linux", "macosx", "mingw", "android", "iphoneos", function (package)
|
on_install("windows", "linux", "macosx", "mingw", "android", "iphoneos", function (package)
|
||||||
local installdir = package:installdir()
|
|
||||||
local version = package:version() or semver.new("5.15.2")
|
local version = package:version() or semver.new("5.15.2")
|
||||||
|
|
||||||
local host
|
local host
|
||||||
|
|
@ -140,6 +142,7 @@ package("qt5base")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local installdir = package:installdir()
|
||||||
os.vrunv("aqt", {"install-qt", "-O", installdir, host, target, version:shortstr(), arch})
|
os.vrunv("aqt", {"install-qt", "-O", installdir, host, target, version:shortstr(), arch})
|
||||||
|
|
||||||
-- move files to root
|
-- move files to root
|
||||||
|
|
@ -183,7 +186,7 @@ package("qt5base")
|
||||||
|
|
||||||
local installeddir
|
local installeddir
|
||||||
for _, subdir in pairs(subdirs) do
|
for _, subdir in pairs(subdirs) do
|
||||||
local results = os.dirs(path.join(installdir, version, subdir), function (file, isdir) print(file) print(isdir) return false end)
|
local results = os.dirs(path.join(installdir, version, subdir), function (file, isdir) return false end)
|
||||||
if results and #results > 0 then
|
if results and #results > 0 then
|
||||||
installeddir = results[1]
|
installeddir = results[1]
|
||||||
break
|
break
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,14 @@ package("qt5core")
|
||||||
set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.")
|
set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.")
|
||||||
set_license("LGPL-3")
|
set_license("LGPL-3")
|
||||||
|
|
||||||
|
add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true})
|
||||||
|
add_configs("vs_runtime", {description = "Set vs compiler runtime.", default = "MD", readonly = true})
|
||||||
|
|
||||||
|
add_versions("5.15.2", "dummy")
|
||||||
|
add_versions("5.12.5", "dummy")
|
||||||
|
|
||||||
on_load(function (package)
|
on_load(function (package)
|
||||||
package:add("deps", "qt5base", {debug = package:is_debug()})
|
package:add("deps", "qt5base", {debug = package:is_debug(), version = package:version_str()})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
on_fetch(function (package)
|
on_fetch(function (package)
|
||||||
|
|
@ -17,6 +23,7 @@ package("qt5core")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
qtdir = qt,
|
qtdir = qt,
|
||||||
|
version = qt.version,
|
||||||
includedirs = {qt.includedir, path.join(qt.includedir, "QtCore")},
|
includedirs = {qt.includedir, path.join(qt.includedir, "QtCore")},
|
||||||
links = table.wrap("Qt5Core" .. (package:is_plat("windows") and package:is_debug() and "d" or "")),
|
links = table.wrap("Qt5Core" .. (package:is_plat("windows") and package:is_debug() and "d" or "")),
|
||||||
linkdirs = table.wrap(qt.libdir)
|
linkdirs = table.wrap(qt.libdir)
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,14 @@ package("qt5gui")
|
||||||
set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.")
|
set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.")
|
||||||
set_license("LGPL-3")
|
set_license("LGPL-3")
|
||||||
|
|
||||||
|
add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true})
|
||||||
|
add_configs("vs_runtime", {description = "Set vs compiler runtime.", default = "MD", readonly = true})
|
||||||
|
|
||||||
|
add_versions("5.15.2", "dummy")
|
||||||
|
add_versions("5.12.5", "dummy")
|
||||||
|
|
||||||
on_load(function (package)
|
on_load(function (package)
|
||||||
package:add("deps", "qt5base", "qt5core", {debug = package:is_debug()})
|
package:add("deps", "qt5base", "qt5core", {debug = package:is_debug(), version = package:version_str()})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
on_fetch(function (package)
|
on_fetch(function (package)
|
||||||
|
|
@ -16,6 +22,7 @@ package("qt5gui")
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
version = qt.version,
|
||||||
includedirs = {qt.includedir, path.join(qt.includedir, "QtGui")},
|
includedirs = {qt.includedir, path.join(qt.includedir, "QtGui")},
|
||||||
links = table.wrap("Qt5Gui" .. (package:is_plat("windows") and package:is_debug() and "d" or "")),
|
links = table.wrap("Qt5Gui" .. (package:is_plat("windows") and package:is_debug() and "d" or "")),
|
||||||
linkdirs = table.wrap(qt.libdir),
|
linkdirs = table.wrap(qt.libdir),
|
||||||
|
|
|
||||||
|
|
@ -4,18 +4,27 @@ package("qt5widgets")
|
||||||
set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.")
|
set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.")
|
||||||
set_license("LGPL-3")
|
set_license("LGPL-3")
|
||||||
|
|
||||||
|
add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true})
|
||||||
|
add_configs("vs_runtime", {description = "Set vs compiler runtime.", default = "MD", readonly = true})
|
||||||
|
|
||||||
|
add_versions("5.15.2", "dummy")
|
||||||
|
add_versions("5.12.5", "dummy")
|
||||||
|
|
||||||
on_load(function (package)
|
on_load(function (package)
|
||||||
package:add("deps", "qt5base", "qt5core", "qt5gui", {debug = package:is_debug()})
|
package:add("deps", "qt5base", "qt5core", "qt5gui", {debug = package:is_debug(), version = package:version_str()})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
on_fetch(function (package)
|
on_fetch(function (package)
|
||||||
|
print("on_fetch")
|
||||||
local base = package:dep("qt5base")
|
local base = package:dep("qt5base")
|
||||||
local qt = base:data("qtdir")
|
local qt = base:data("qtdir")
|
||||||
if not qt then
|
if not qt then
|
||||||
|
print("nani")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
version = qt.version,
|
||||||
includedirs = {qt.includedir, path.join(qt.includedir, "QtWidgets")},
|
includedirs = {qt.includedir, path.join(qt.includedir, "QtWidgets")},
|
||||||
links = table.wrap("Qt5Widgets" .. (package:is_plat("windows") and package:is_debug() and "d" or "")),
|
links = table.wrap("Qt5Widgets" .. (package:is_plat("windows") and package:is_debug() and "d" or "")),
|
||||||
linkdirs = table.wrap(qt.libdir)
|
linkdirs = table.wrap(qt.libdir)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue