```cmake
macro (apply_strict_compile_options_to_this_directory)
	if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
		set_property(DIRECTORY PROPERTY COMPILE_OPTIONS -Wall -Wextra -Wpedantic -Werror)
	elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
		set_property(DIRECTORY PROPERTY COMPILE_OPTIONS -Wall -Wextra -pedantic -Werror)
	elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
		set_property(DIRECTORY PROPERTY COMPILE_OPTIONS "/W4 /wd4244 /wd4805 /wd4389 /wd4267 /WX")
	endif ()
endmacro ()
```

Set warning properties for MSVC properly
user
```cmake
macro (apply_strict_compile_options_to_this_directory)
	if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
		set_property(DIRECTORY PROPERTY COMPILE_OPTIONS -Wall -Wextra -Wpedantic -Werror)
	elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
		set_property(DIRECTORY PROPERTY COMPILE_OPTIONS -Wall -Wextra -pedantic -Werror)
	elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
		set_property(DIRECTORY PROPERTY COMPILE_OPTIONS /W4 /wd4244 /wd4805 /wd4389 /wd4267 /WX)
	endif ()
endmacro ()
```
assistant