Merge pull request #78 from pdavydov108/master

Fix #77 build on freebsd 10
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26fe76c..d1b2ddc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,6 +56,10 @@
   add_definitions(-DOS_WINDOWS)
 endif()
 
+if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
+  add_definitions(-DOS_FREEBSD)
+endif()
+
 # Set CPU
 if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86")
   add_definitions(-DARCH_X86)
diff --git a/src/sysinfo.cc b/src/sysinfo.cc
index d135ef2..a67662c 100644
--- a/src/sysinfo.cc
+++ b/src/sysinfo.cc
@@ -21,9 +21,9 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/resource.h>
+#include <sys/types.h> // this header must be included before 'sys/sysctl.h' to avoid compilation error on FreeBSD
 #include <sys/sysctl.h>
 #include <sys/time.h>
-#include <sys/types.h>
 #include <unistd.h>
 
 #include <iostream>