diff --git a/Modules/about-distro/src/Module.cpp b/Modules/about-distro/src/Module.cpp --- a/Modules/about-distro/src/Module.cpp +++ b/Modules/about-distro/src/Module.cpp @@ -41,6 +41,9 @@ #ifdef Q_OS_LINUX #include +#elif defined(Q_OS_FREEBSD) +#include +#include #endif #include @@ -55,6 +58,15 @@ if (sysinfo(&info) == 0) // manpage "sizes are given as multiples of mem_unit bytes" ret = info.totalram * info.mem_unit; +#elif defined(Q_OS_FREEBSD) + /* Stuff for sysctl */ + size_t len; + + unsigned long memory; + len = sizeof(memory); + sysctlbyname("hw.physmem", &memory, &len, NULL, 0); + + ret = memory; #endif return ret; }