diff options
| author | ruki <[email protected]> | 2017-09-14 00:23:19 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-09-13 20:19:58 +0800 |
| commit | b1af9888679f0ac9384bba23a1b9d99d7b165db8 (patch) | |
| tree | 5c6a458f2f631b2b313f44825d1473c122eb4a1c | |
| parent | 421042632a667802b8a50580c83342d5282893c8 (diff) | |
fix package links when installing required package
| -rw-r--r-- | xmake/actions/require/action/install.lua | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/xmake/actions/require/action/install.lua b/xmake/actions/require/action/install.lua index ce87f9c35..857849c07 100644 --- a/xmake/actions/require/action/install.lua +++ b/xmake/actions/require/action/install.lua @@ -81,6 +81,24 @@ function _install_for_generic(package) os.cp(headerfile, dstheaderfile) end + -- get links + local links = {} + for _, filename in ipairs(os.files(path.join(linkdir, target.filename("*", "static"))), path.filename) do + local link, count = filename:gsub(target.filename("([%w%-_]+)", "static"):gsub("%.", "%%.") .. "$", "%1") + if count > 0 then + table.insert(links, link) + end + end + if #links == 0 then + for _, filename in ipairs(os.files(path.join(linkdir, target.filename("*", "shared"))), path.filename) do + local link, count = filename:gsub(target.filename("([%w%-_]+)", "shared"):gsub("%.", "%%.") .. "$", "%1") + if count > 0 then + table.insert(links, link) + end + end + end + assert(#links > 0, "the library files not found in package %s", name) + -- make xmake.lua local file = io.open(path.join(installdir, "xmake.lua"), "w") if file then @@ -113,7 +131,7 @@ option("%s") ]] -- save file - file:writef(content, name, name, name, name:upper(), name) + file:writef(content, name, name, name, name:upper(), table.concat(links, "\", \"")) -- exit file file:close() |
