Make warnings into errors when doing debug builds

Assume debug builds means it's a developer working on TigerVNC
rather than a user just compiling it. At that point we should not
accept any new warnings in the code.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c19654..407bf67 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -70,6 +70,14 @@
 # Tell the compiler to be stringent
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wformat=2")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wformat=2")
+# Make sure we catch these issues whilst developing
+IF(CMAKE_BUILD_TYPE MATCHES Debug)
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
+  # We have a lot of old GnuTLS crud we need to ignore for now
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=deprecated-declarations")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=deprecated-declarations")
+ENDIF()
 
 if(NOT DEFINED BUILD_WINVNC)
   set(BUILD_WINVNC 1)