summaryrefslogtreecommitdiff
path: root/xmake/actions/require/impl/package.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2019-01-24 22:34:31 +0800
committerruki <[email protected]>2019-01-24 09:27:08 +0800
commita3e4aa1883d41efeaa065f52d438b11e15714c64 (patch)
tree7a2555aa66752d9f33d8519214ef3eb03e46a29c /xmake/actions/require/impl/package.lua
parent3f95d81c9d8ae9294f8fa4b94411c08ec881a01c (diff)
modify require str for support xxx::
Diffstat (limited to 'xmake/actions/require/impl/package.lua')
-rw-r--r--xmake/actions/require/impl/package.lua27
1 files changed, 18 insertions, 9 deletions
diff --git a/xmake/actions/require/impl/package.lua b/xmake/actions/require/impl/package.lua
index c661bd986..607c1a9ae 100644
--- a/xmake/actions/require/impl/package.lua
+++ b/xmake/actions/require/impl/package.lua
@@ -43,6 +43,9 @@ import("repository")
-- add_requires("xmake-repo@tbox >=1.5.1")
-- add_requires("aaa_bbb_ccc >=1.5.1 <1.6.0", {optional = true, alias = "mypkg", debug = true})
-- add_requires("tbox", {config = {coroutine = true, abc = "xxx"}})
+-- add_requires("xmake::xmake-repo@tbox >=1.5.1")
+-- add_requires("conan::OpenSSL/1.0.2n@conan/stable")
+-- add_requires("brew::pcre2/libpcre2-8 10.x", {alias = "pcre2"})
--
-- {system = nil/true/false}:
-- nil: get local or system packages
@@ -81,19 +84,25 @@ function _parse_require(require_str, requires_extra, parentinfo)
end
assert(version, "require(\"%s\"): unknown version!", require_str)
- -- get repository name, package name and package url
+ -- require third-party packages? e.g. brew::pcre2/libpcre2-8
local reponame = nil
local packagename = nil
- local pos = packageinfo:find_last('@', true)
- if pos then
+ if require_str:find("::", 1, true) then
+ packagename = packageinfo
+ else
- -- get package name
- packagename = packageinfo:sub(pos + 1)
+ -- get repository name, package name and package url
+ local pos = packageinfo:find_last('@', true)
+ if pos then
- -- get reponame
- reponame = packageinfo:sub(1, pos - 1)
- else
- packagename = packageinfo
+ -- get package name
+ packagename = packageinfo:sub(pos + 1)
+
+ -- get reponame
+ reponame = packageinfo:sub(1, pos - 1)
+ else
+ packagename = packageinfo
+ end
end
-- check package name