diff options
| author | ruki <[email protected]> | 2022-12-13 21:04:31 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-12-13 21:04:31 +0800 |
| commit | a8b0c74065f49c2720776f2d7bb65c4e3b4c3ef9 (patch) | |
| tree | 38ea25619303f30fcba6357aa569fca5cf5b01ea /xmake/core/package/package.lua | |
| parent | 06876b8b33ae91a5dd12f8b94b295f3546885c8a (diff) | |
add default componments
Diffstat (limited to 'xmake/core/package/package.lua')
| -rw-r--r-- | xmake/core/package/package.lua | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index a0af9f747..7a400215f 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -1883,6 +1883,36 @@ function _instance:components_deps() return components_deps end +-- get default components +-- +-- @see https://github.com/xmake-io/xmake/issues/3164 +-- +-- @code +-- add_components("graphics", {default = true}) +-- @endcode +-- +-- or +-- +-- @code +-- on_component(function (package, component)) +-- component:set("default", true) +-- end) +-- @endcode +-- +function _instance:components_default() + local components_default = self._COMPONENTS_DEFAULT + if not components_default then + for _, name in ipairs(table.wrap(self:get("components"))) do + if self:extraconf("components", name, "default") or self:component(name):get("default") then + components_default = components_default or {} + table.insert(components_default, name) + end + end + self._COMPONENTS_DEFAULT = components_default or false + end + return components_default or nil +end + -- get package components list with dependencies order function _instance:components_orderlist() local components_orderlist = self._COMPONENTS_ORDERLIST |
