diff options
| author | ruki <[email protected]> | 2021-04-06 00:06:30 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-04-06 00:06:30 +0800 |
| commit | 52635df1a11759f5a93c5269d8e621150c520d4f (patch) | |
| tree | d248379cb145e9d9665fdc5cc0e9b3a925536c8e /xmake/core/base/cpu.lua | |
| parent | ccc90096bcddefe4562856fbfe2e7d02e0a481ea (diff) | |
add cpu info for freebsd
Diffstat (limited to 'xmake/core/base/cpu.lua')
| -rw-r--r-- | xmake/core/base/cpu.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/xmake/core/base/cpu.lua b/xmake/core/base/cpu.lua index cf9582b5b..ec24ab789 100644 --- a/xmake/core/base/cpu.lua +++ b/xmake/core/base/cpu.lua @@ -215,6 +215,30 @@ function cpu._info() cpuinfo.cpu_family = cpu_family cpuinfo.cpu_model = cpu_model end + elseif os.host() == "bsd" then + local ok, dmesginfo = os.iorun("dmesg") + if ok and dmesginfo then + for _, line in ipairs(proc_cpuinfo:split('\n', {plain = true})) do + if not cpuinfo.vendor_id and line:startswith("Origin=") then + cpuinfo.vendor_id = line:match("Origin=\"(.-)\"") + end + if not cpuinfo.cpu_model and line:startswith("Model=") then + cpuinfo.cpu_model = line:match("Model=([%d%w]+)") + end + if not cpuinfo.cpu_family and line:startswith("Family=") then + cpuinfo.cpu_family = line:match("Family=([%d%w]+)") + end + if line:startswith("Features=") then + local cpu_features = line:match("Features=.*<(.-)>") + if cpu_features then + cpuinfo.cpu_features = (cpuinfo.cpu_features or "") .. " " .. cpu_features + end + end + end + if cpuinfo.cpu_features then + cpuinfo.cpu_features = cpuinfo.cpu_features:lower() + end + end end cpu._CPUINFO = cpuinfo end |
