package An official xmake package repository
https://xrepo.xmake.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.0 KiB
55 lines
2.0 KiB
package("qtifw") |
|
set_kind("binary") |
|
set_homepage("https://doc.qt.io/qtinstallerframework/") |
|
set_description("The Qt Installer Framework provides a set of tools and utilities to create installers for the supported desktop Qt platforms: Linux, Microsoft Windows, and macOS.") |
|
set_license("GPL-3") |
|
|
|
add_versions("4.6.0", "dummy") |
|
|
|
add_deps("aqt") |
|
|
|
on_fetch(function (package, opt) |
|
if opt.system then |
|
return import("lib.detect.find_tool")("binarycreator", {check = "--help"}) |
|
end |
|
end) |
|
|
|
on_install("@windows", "@msys", "@macosx", function (package) |
|
|
|
local host |
|
if is_host("windows", "msys") then |
|
host = "windows" |
|
elseif is_host("linux") then |
|
host = "linux" |
|
elseif is_host("macosx") then |
|
host = "mac" |
|
else |
|
raise("unhandled host " .. os.host()) |
|
end |
|
|
|
local target = "desktop" |
|
local version = package:version() |
|
local installdir = package:installdir() |
|
local qtifw_version = "qt.tools.ifw." .. version:major() .. version:minor() |
|
if is_host("windows") and (not is_subhost("msys")) then |
|
os.vrunv("aqt", {"install-tool", "-O", installdir, host, target, "tools_ifw", qtifw_version, "--external", "7z"}) |
|
else |
|
os.vrunv("aqt", {"install-tool", "-O", installdir, host, target, "tools_ifw", qtifw_version}) |
|
end |
|
os.mv(path.join(installdir, "Tools", "*", version:major() .. "." .. version:minor(), "*"), installdir) |
|
os.rmdir(path.join(installdir, "Tools")) |
|
end) |
|
|
|
on_test(function (package) |
|
local function assertbin(name) |
|
if is_host("windows") then |
|
name = name .. ".exe" |
|
end |
|
local exec = path.join(package:installdir(), "bin", name) |
|
assert(os.isexec(exec), name .. " not found!") |
|
end |
|
os.vrun("binarycreator --help") |
|
os.vrun("archivegen --help") |
|
os.vrun("devtool --help") |
|
assertbin("repogen") |
|
end)
|
|
|