diff --git a/CMakeLists.txt b/CMakeLists.txt
index fc1b63aa4383fe27d62312e7e5e6b6ac8ebc79b5..1bbff4bfc2ad06e66d886b6fb43c45be6622e41f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,6 +5,17 @@ project(bgs)
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
 
+IF(UNIX)
+  # add some standard warnings
+  ADD_DEFINITIONS(-Wno-variadic-macros -Wno-long-long -Wall -Wextra -Winit-self -Woverloaded-virtual -Wsign-promo -Wsynth -Wno-unused-parameter -pedantic -Woverloaded-virtual -Wno-unknown-pragmas)
+  
+  # -ansi does not compile with sjn module
+  #ADD_DEFINITIONS(-ansi)
+
+  # if you like to have warinings about conversions, e.g. double->int or double->float etc., or float compare
+  #ADD_DEFINITIONS(-Wconversion -Wfloat-equal)
+endif(UNIX)
+
 find_package(OpenCV REQUIRED)
 
 if(${OpenCV_VERSION} VERSION_LESS 2.3.1)