summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-04-24 00:33:47 +0800
committerruki <[email protected]>2021-04-23 21:25:59 +0800
commitd9387d934e1a82858434439dee22823f27efe497 (patch)
tree72c1af41b8a1ecb83bd157d20c8c4af26132ddef
parente4cd38d543529552dc405a8fd5e71dd58df2f140 (diff)
improve require_version
-rw-r--r--xmake/core/package/package.lua16
1 files changed, 12 insertions, 4 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua
index 67f9d9d27..cf0e58acc 100644
--- a/xmake/core/package/package.lua
+++ b/xmake/core/package/package.lua
@@ -1040,11 +1040,15 @@ end
function _instance:_fetch_tool(opt)
opt = opt or {}
local fetchinfo
+ local require_version = opt.require_version
+ if require_version and not require_version:find(".", 1, true) then
+ require_version = nil
+ end
local on_fetch = self:script("fetch")
if on_fetch then
fetchinfo = on_fetch(self, {force = opt.force,
system = opt.system,
- require_version = opt.require_version})
+ require_version = require_version})
end
if fetchinfo == nil then
self._find_tool = self._find_tool or sandbox_module.import("lib.detect.find_tool", {anonymous = true})
@@ -1060,7 +1064,7 @@ function _instance:_fetch_tool(opt)
end
end
else
- fetchinfo = self:find_tool(self:name(), {require_version = opt.require_version,
+ fetchinfo = self:find_tool(self:name(), {require_version = require_version,
cachekey = "fetch_package_xmake",
norun = true, -- we need not run it to check for xmake/packages, @see https://github.com/xmake-io/xmake-repo/issues/66
force = opt.force})
@@ -1081,12 +1085,16 @@ end
function _instance:_fetch_library(opt)
opt = opt or {}
local fetchinfo
+ local require_version = opt.require_version
+ if require_version and not require_version:find(".", 1, true) then
+ require_version = nil
+ end
local on_fetch = self:script("fetch")
if on_fetch then
fetchinfo = on_fetch(self, {force = opt.force,
system = opt.system,
external = opt.external,
- require_version = opt.require_version})
+ require_version = require_version})
end
if fetchinfo == nil then
if opt.system then
@@ -1102,7 +1110,7 @@ function _instance:_fetch_library(opt)
end
else
fetchinfo = self:find_package("xmake::" .. self:name(), {
- require_version = opt.require_version,
+ require_version = require_version,
cachekey = "fetch_package_xmake",
external = opt.external,
force = opt.force})