summaryrefslogtreecommitdiff
path: root/xmake/actions/require/package.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2018-09-15 00:06:25 +0800
committerruki <[email protected]>2018-09-14 18:38:35 +0800
commit1811b84c21ccfc2fe35b7b9ada2219a7a2b7db73 (patch)
tree1e4c6715b5806c6defa5d8b6b1b3bd3d175b0fa7 /xmake/actions/require/package.lua
parent370fb6fb63d61de86edd503a173f438bba90064f (diff)
add cmake package module
Diffstat (limited to 'xmake/actions/require/package.lua')
-rw-r--r--xmake/actions/require/package.lua22
1 files changed, 14 insertions, 8 deletions
diff --git a/xmake/actions/require/package.lua b/xmake/actions/require/package.lua
index 301f960ef..27aabda82 100644
--- a/xmake/actions/require/package.lua
+++ b/xmake/actions/require/package.lua
@@ -244,7 +244,7 @@ function _sort_packagedeps(package)
end
-- load all required packages
-function _load_packages(requires, requires_extra, parentinfo)
+function _load_packages(requires, opt)
-- no requires?
if not requires or #requires == 0 then
@@ -253,7 +253,7 @@ function _load_packages(requires, requires_extra, parentinfo)
-- load packages
local packages = {}
- for packagename, requireinfo in pairs(load_requires(requires, requires_extra, parentinfo)) do
+ for packagename, requireinfo in pairs(load_requires(requires, opt.requires_extra, opt.parentinfo)) do
-- attempt to get project option about this package
local packageopt = project.option(packagename)
@@ -267,9 +267,9 @@ function _load_packages(requires, requires_extra, parentinfo)
-- load dependent packages and save them first of this package
local deps = package:get("deps")
- if deps then
+ if deps and opt.nodeps ~= true then
local packagedeps = {}
- for _, dep in ipairs(_load_packages(deps, package:get("__extra_deps"), requireinfo)) do
+ for _, dep in ipairs(_load_packages(deps, {requires_extra = package:get("__extra_deps"), parentinfo = requireinfo, nodeps = opt.nodeps})) do
table.insert(packages, dep)
packagedeps[dep:name()] = dep
end
@@ -415,10 +415,13 @@ function load_requires(requires, requires_extra, parentinfo)
end
-- load all required packages
-function load_packages(requires, requires_extra)
+function load_packages(requires, opt)
+
+ -- init options
+ opt = opt or {}
-- laod all required packages recursively
- local packages = _load_packages(requires, requires_extra)
+ local packages = _load_packages(requires, opt)
-- sort package urls
_sort_packages_urls(packages)
@@ -431,10 +434,13 @@ function load_packages(requires, requires_extra)
end
-- install packages
-function install_packages(requires, requires_extra)
+function install_packages(requires, opt)
+
+ -- init options
+ opt = opt or {}
-- load packages
- local packages = load_packages(requires, requires_extra)
+ local packages = load_packages(requires, opt)
-- fetch packages from local first
local packages_remote = {}