diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1e737e5..75534c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -422,6 +422,11 @@ set(LWS_LIBMOUNT_LIBRARIES CACHE PATH "Path to the libmount library")
 set(LWS_EXT_PTHREAD_INCLUDE_DIR CACHE PATH "Path to an external pthreads include directory")
 set(LWS_EXT_PTHREAD_LIBRARIES CACHE PATH "Path to an external pthreads library")
 
+if(WIN32)
+    find_package(pthreads_windows REQUIRED)
+    set(LWS_EXT_PTHREAD_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR})
+    set(LWS_EXT_PTHREAD_LIBRARIES ${PThreads4W_LIBRARY})
+endif()
 
 if (LWS_WITH_HTTP_STREAM_COMPRESSION)
 	set(LWS_WITH_ZLIB 1)
@@ -728,7 +733,7 @@ if (MSVC)
 	# Turn off pointless microsoft security warnings.
 	add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
 	# Fail the build if any warnings
-	add_compile_options(/W3 /WX)
+	add_compile_options(/W3 /WX /wd4142 /wd4267 /wd4996)
 endif(MSVC)
 
 if (MINGW)