Skip to content

Commit

Permalink
Merge pull request #5666 from xmake-io/librarydep
Browse files Browse the repository at this point in the history
use librarydep
  • Loading branch information
waruqi authored Sep 26, 2024
2 parents 74a69b0 + 4b3af02 commit f7124e1
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 6 deletions.
14 changes: 14 additions & 0 deletions xmake/core/package/package.lua
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,20 @@ function _instance:plaindeps()
return self._PLAINDEPS
end

-- get library dep
function _instance:librarydep(name, opt)
local key = "librarydeps_map_" .. ((opt and opt.private) and "private" or "")
local librarydeps_map = self:_memcache():get(key)
if not librarydeps_map then
librarydeps_map = {}
for _, dep in ipairs(self:librarydeps()) do
librarydeps_map[dep:name()] = dep
end
self:_memcache():set(key, librarydeps_map)
end
return librarydeps_map[name]
end

-- get library deps with correct link order
function _instance:librarydeps(opt)
if opt and opt.private then
Expand Down
4 changes: 2 additions & 2 deletions xmake/modules/package/tools/autoconf.lua
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ end
function _get_cflags_from_packagedeps(package, opt)
local values
for _, depname in ipairs(opt.packagedeps) do
local dep = type(depname) ~= "string" and depname or package:dep(depname)
local dep = type(depname) ~= "string" and depname or package:librarydep(depname)
if dep then
local fetchinfo = dep:fetch()
if fetchinfo then
Expand Down Expand Up @@ -208,7 +208,7 @@ end
function _get_ldflags_from_packagedeps(package, opt)
local values
for _, depname in ipairs(opt.packagedeps) do
local dep = type(depname) ~= "string" and depname or package:dep(depname)
local dep = type(depname) ~= "string" and depname or package:librarydep(depname)
if dep then
local fetchinfo = dep:fetch()
if fetchinfo then
Expand Down
4 changes: 2 additions & 2 deletions xmake/modules/package/tools/cmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ end
function _get_cflags_from_packagedeps(package, opt)
local values
for _, depname in ipairs(opt.packagedeps) do
local dep = type(depname) ~= "string" and depname or package:dep(depname)
local dep = type(depname) ~= "string" and depname or package:librarydep(depname)
if dep then
local fetchinfo = dep:fetch()
if fetchinfo then
Expand Down Expand Up @@ -151,7 +151,7 @@ end
function _get_ldflags_from_packagedeps(package, opt)
local values
for _, depname in ipairs(opt.packagedeps) do
local dep = type(depname) ~= "string" and depname or package:dep(depname)
local dep = type(depname) ~= "string" and depname or package:librarydep(depname)
if dep then
local fetchinfo = dep:fetch()
if fetchinfo then
Expand Down
4 changes: 2 additions & 2 deletions xmake/modules/package/tools/meson.lua
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ end
function _get_cflags_from_packagedeps(package, opt)
local values
for _, depname in ipairs(opt.packagedeps) do
local dep = type(depname) ~= "string" and depname or package:dep(depname)
local dep = type(depname) ~= "string" and depname or package:librarydep(depname)
if dep then
local fetchinfo = dep:fetch()
if fetchinfo then
Expand Down Expand Up @@ -428,7 +428,7 @@ end
function _get_ldflags_from_packagedeps(package, opt)
local values
for _, depname in ipairs(opt.packagedeps) do
local dep = type(depname) ~= "string" and depname or package:dep(depname)
local dep = type(depname) ~= "string" and depname or package:librarydep(depname)
if dep then
local fetchinfo = dep:fetch()
if fetchinfo then
Expand Down

0 comments on commit f7124e1

Please sign in to comment.