diff --git a/src/plugins/lua/bindings/utils.cpp b/src/plugins/lua/bindings/utils.cpp index 7893a1e5e0b..cbf4e3e0784 100644 --- a/src/plugins/lua/bindings/utils.cpp +++ b/src/plugins/lua/bindings/utils.cpp @@ -92,6 +92,24 @@ void addUtilsModule() else return "unknown"; }()); + hostOsInfoType["architecture"] = sol::var([]() { + switch (HostOsInfo::hostArchitecture()) { + case OsArchUnknown: + return "unknown"; + case OsArchX86: + return "x86"; + case OsArchAMD64: + return "x86_64"; + case OsArchItanium: + return "itanium"; + case OsArchArm: + return "arm"; + case OsArchArm64: + return "arm64"; + default: + return "unknown"; + } + }()); sol::usertype filePathType = utils.new_usertype( "FilePath", diff --git a/src/plugins/lua/meta/utils.lua b/src/plugins/lua/meta/utils.lua index 2463c01fdac..c45f5923e70 100644 --- a/src/plugins/lua/meta/utils.lua +++ b/src/plugins/lua/meta/utils.lua @@ -81,4 +81,9 @@ function utils.FilePath:completeSuffix() end ---Returns whether the path is absolute ---@return boolean function utils.FilePath:isAbsolutePath() end + +---@class HostOsInfo +---@field os "mac"|"windows"|"linux" The current host operating system +---@field architecture "unknown"|"x86"|"x86_64"|"itanium"|"arm"|"arm64" The current host architecture +utils.HostOsInfo = {} return utils