diff options
| author | ruki <[email protected]> | 2020-09-19 00:29:17 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-09-19 00:29:17 +0800 |
| commit | efaa9772486494e755f962accb9e4d828812b0c2 (patch) | |
| tree | 643df490ffafc4f1c403155989352885e41da320 /xmake/modules/lib/detect/pkg_config.lua | |
| parent | 8f602006896e397994d930f364f03d6e3d611a89 (diff) | |
improve pkgconfig
Diffstat (limited to 'xmake/modules/lib/detect/pkg_config.lua')
| -rw-r--r-- | xmake/modules/lib/detect/pkg_config.lua | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/xmake/modules/lib/detect/pkg_config.lua b/xmake/modules/lib/detect/pkg_config.lua index 4935f0c1e..059c25570 100644 --- a/xmake/modules/lib/detect/pkg_config.lua +++ b/xmake/modules/lib/detect/pkg_config.lua @@ -147,30 +147,27 @@ function libinfo(name, opt) -- init result result = {} - for _, flag in ipairs(flags:split('%s')) do - - -- get links - local link = flag:match("%-l(.*)") - if link and not link:find(path.sep(), 1, true) then + for _, flag in ipairs(os.argv(flags)) do + if flag:startswith("-L") and #flag > 2 then + -- get linkdirs + local linkdir = flag:sub(3) + if linkdir and os.isdir(linkdir) then + result.linkdirs = result.linkdirs or {} + table.insert(result.linkdirs, linkdir) + end + elseif flag:startswith("-I") and #flag > 2 then + -- get includedirs + local includedir = flag:sub(3) + if includedir and os.isdir(includedir) then + result.includedirs = result.includedirs or {} + table.insert(result.includedirs, includedir) + end + elseif flag:startswith("-l") and #flag > 2 then + -- get links + local link = flag:sub(3) result.links = result.links or {} table.insert(result.links, link) end - - -- get linkdirs - local linkdirs = nil - local linkdir = flag:match("%-L(.*)") - if linkdir and os.isdir(linkdir) then - result.linkdirs = result.linkdirs or {} - table.insert(result.linkdirs, linkdir) - end - - -- get includedirs - local includedirs = nil - local includedir = flag:match("%-I(.*)") - if includedir and os.isdir(includedir) then - result.includedirs = result.includedirs or {} - table.insert(result.includedirs, includedir) - end end end @@ -185,8 +182,6 @@ function libinfo(name, opt) if configdirs_old then os.setenv("PKG_CONFIG_PATH", configdirs_old) end - - -- ok? return result end |
