diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index e44cb19ce..92e06c987 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -2,6 +2,14 @@ if (NOT TARGET "test-drive::test-drive")
   find_package("test-drive" REQUIRED)
 endif()
 
+if(WIN32)
+  if(CMAKE_Fortran_COMPILER_ID MATCHES "^Intel")
+    add_link_options(/Qoption,link,/STACK:8388608)
+  elseif(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
+    add_link_options(-Wl,--stack,8388608)
+  endif()
+endif()
+
 macro(ADDTEST name)
     add_executable(test_${name} test_${name}.f90)
     target_link_libraries(test_${name} "${PROJECT_NAME}" "test-drive::test-drive")
diff --git a/test/hash_functions/CMakeLists.txt b/test/hash_functions/CMakeLists.txt
index bcaf23fec..4e8fc35bb 100755
--- a/test/hash_functions/CMakeLists.txt
+++ b/test/hash_functions/CMakeLists.txt
@@ -23,6 +23,21 @@ if(CMAKE_Fortran_COMPILER_ID MATCHES "^Intel")
   set(CMAKE_CXX_EXTENSIONS OFF)
 
   set_target_properties(test_hash_functions PROPERTIES LINKER_LANGUAGE Fortran)
+  
+  if(WIN32)
+    set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL$<$<CONFIG:Debug>:Debug>")
+    target_compile_options(
+      test_hash_functions
+      PRIVATE
+      $<$<COMPILE_LANGUAGE:Fortran>:/libs:dll> )
+    if (CMAKE_BUILD_TYPE STREQUAL "Debug" OR "RelWithDebInfo")
+      target_link_options(test_hash_functions
+        PRIVATE
+        /Qoption,link,/NODEFAULTLIB:libcmt
+        /Qoption,link,/NODEFAULTLIB:msvcrt.lib
+        /Qoption,link,/NODEFAULTLIB:libifcoremt.lib )
+    endif()
+  endif()
 endif()
 
 if(CMAKE_Fortran_COMPILER_ID STREQUAL GNU AND CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 10.0)