diff options
| author | ruki <[email protected]> | 2019-01-24 21:00:03 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-01-24 00:00:22 +0800 |
| commit | dd9e1bb88ec464edd6fa76a4ee63ad7a3a334314 (patch) | |
| tree | fe19e75cffe3d09f1bf33274412852aa8a84cd00 /xmake/modules/package/manager/system/find_package.lua | |
| parent | b56c72c24a91c98cc11b83564b37bcea0c93cb79 (diff) | |
improve find_package
Diffstat (limited to 'xmake/modules/package/manager/system/find_package.lua')
| -rw-r--r-- | xmake/modules/package/manager/system/find_package.lua | 62 |
1 files changed, 35 insertions, 27 deletions
diff --git a/xmake/modules/package/manager/system/find_package.lua b/xmake/modules/package/manager/system/find_package.lua index d03e2f4cb..480deae40 100644 --- a/xmake/modules/package/manager/system/find_package.lua +++ b/xmake/modules/package/manager/system/find_package.lua @@ -41,25 +41,29 @@ function main(name, opt) -- add default search includedirs on pc host local includedirs = table.wrap(opt.includedirs) - if opt.plat == "linux" or opt.plat == "macosx" then - table.insert(includedirs, "/usr/local/include") - table.insert(includedirs, "/usr/include") - table.insert(includedirs, "/opt/local/include") - table.insert(includedirs, "/opt/include") + if #includedirs == 0 then + if opt.plat == "linux" or opt.plat == "macosx" then + table.insert(includedirs, "/usr/local/include") + table.insert(includedirs, "/usr/include") + table.insert(includedirs, "/opt/local/include") + table.insert(includedirs, "/opt/include") + end end -- add default search linkdirs on pc host local linkdirs = table.wrap(opt.linkdirs) - if opt.plat == "linux" or opt.plat == "macosx" then - table.insert(linkdirs, "/usr/local/lib") - table.insert(linkdirs, "/usr/lib") - table.insert(linkdirs, "/opt/local/lib") - table.insert(linkdirs, "/opt/lib") - if opt.plat == "linux" and opt.arch == "x86_64" then - table.insert(linkdirs, "/usr/local/lib/x86_64-linux-gnu") - table.insert(linkdirs, "/usr/lib/x86_64-linux-gnu") - table.insert(linkdirs, "/usr/lib64") - table.insert(linkdirs, "/opt/lib64") + if #linkdirs == 0 then + if opt.plat == "linux" or opt.plat == "macosx" then + table.insert(linkdirs, "/usr/local/lib") + table.insert(linkdirs, "/usr/lib") + table.insert(linkdirs, "/opt/local/lib") + table.insert(linkdirs, "/opt/lib") + if opt.plat == "linux" and opt.arch == "x86_64" then + table.insert(linkdirs, "/usr/local/lib/x86_64-linux-gnu") + table.insert(linkdirs, "/usr/lib/x86_64-linux-gnu") + table.insert(linkdirs, "/usr/lib64") + table.insert(linkdirs, "/opt/lib64") + end end end @@ -92,20 +96,24 @@ function main(name, opt) end -- find includes - for _, include in ipairs(table.wrap(opt.includes)) do - local includedir = find_path(include, includedirs) - if includedir then - result = result or {} - result.includedirs = table.join(result.includedirs or {}, includedir) + if opt.includes then + for _, include in ipairs(opt.includes) do + local includedir = find_path(include, includedirs) + if includedir then + result = result or {} + result.includedirs = table.join(result.includedirs or {}, includedir) + end end - end - for _, include in ipairs({name .. "/" .. name .. ".h", name .. ".h"}) do - local includedir = find_path(include, includedirs) - if includedir then - result = result or {} - result.includedirs = table.join(result.includedirs or {}, includedir) - break + for _, include in ipairs({name .. "/" .. name .. ".h", name .. ".h"}) do + local includedir = find_path(include, includedirs) + if includedir then + result = result or {} + result.includedirs = table.join(result.includedirs or {}, includedir) + break + end end + elseif result and result.links and opt.includedirs then + result.includedirs = opt.includedirs end -- not found? only add links |
