48 lines
797 B
Lua
48 lines
797 B
Lua
---@enum Platform
|
|
Platform = {
|
|
WINDOWS = 0,
|
|
LINUX = 1,
|
|
MACOS = 2,
|
|
UNKNOWN = 3
|
|
}
|
|
|
|
function os.platform()
|
|
return Platform.UNKNOWN
|
|
end
|
|
|
|
function os.name()
|
|
return "Unknown"
|
|
end
|
|
|
|
---@note setup code from: https://stackoverflow.com/a/30960054
|
|
local binary_format = package.cpath:match("%p[\\|/]?%p(%a+)")
|
|
|
|
if binary_format == "dll" then
|
|
function os.platform()
|
|
return Platform.WINDOWS
|
|
end
|
|
|
|
function os.name()
|
|
return "Windows"
|
|
end
|
|
|
|
elseif binary_format == "so" then
|
|
function os.platform()
|
|
return Platform.LINUX
|
|
end
|
|
|
|
function os.name()
|
|
return "Linux"
|
|
end
|
|
|
|
elseif binary_format == "dylib" then
|
|
function os.platform()
|
|
return Platform.MACOS
|
|
end
|
|
|
|
function os.name()
|
|
return "MacOS"
|
|
end
|
|
|
|
end
|