diff --git a/cmake/OS_Detection.cmake b/cmake/OS_Detection.cmake
index 31648a6311e6d6b50add61f0425d049a293eaaff..ff6953f20431d7eb49756659ce0bf532e3f8608f 100644
--- a/cmake/OS_Detection.cmake
+++ b/cmake/OS_Detection.cmake
@@ -45,14 +45,21 @@ message(STATUS "[*] Building for a ${ARCH_WIDTH}-bit system")
 if(UNIX)
     add_definitions ("-DDAP_OS_UNIX")
     if (APPLE)
-        add_definitions ("-DDAP_OS_DARWIN -DDARWIN")
+        add_definitions ("-DDAP_OS_DARWIN -DDARWIN -DDAP_OS_BSD")
         set(DARWIN ON)
     else()
         add_definitions ("-DDAP_OS_LINUX")
     endif()
+    
+    if (${CMAKE_SYSTEM_NAME} MATCHES "BSD" )
+        add_definitions ("-DDAP_OS_BSD")
+        set(BSD ON)
+    endif()
 
-    add_definitions ("-DDAP_OS_LINUX -DDAP_OS_UNIX")
-    # add_definitions ("-DDAP_LOG_MT")
+    if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" )
+        add_definitions ("-DDAP_OS_LINUX")
+    endif()
+    
     if(DAP_DEBUG)
       set(_CCOPT "-DDAP_DEBUG -Wall -Wno-deprecated-declarations -Wno-unused-local-typedefs -Wno-unused-function -Wno-implicit-fallthrough -Wno-unused-variable -Wno-unused-parameter -Wno-unused-but-set-variable -pg -g3 -ggdb -fno-eliminate-unused-debug-symbols -fno-strict-aliasing")
       set(_LOPT "-pg")
@@ -64,6 +71,7 @@ if(UNIX)
     if (ANDROID)
         set(_CCOPT "${_CCOPT} -fforce-enable-int128 -std=gnu11")
         add_definitions ("-DDAP_OS_ANDROID")
+        add_definitions ("-DDAP_OS_LINUX")
     endif()
 
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_CCOPT}")