diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake
index e082298..25186e4 100644
--- a/cmake/Utils.cmake
+++ b/cmake/Utils.cmake
@@ -386,7 +386,7 @@ function(caffe_add_whole_archive_flag lib output_var)
     set(${output_var} -Wl,-force_load,$<TARGET_FILE:${lib}> PARENT_SCOPE)
   elseif(MSVC)
     # In MSVC, we will add whole archive in default.
-    set(${output_var} -WHOLEARCHIVE:$<TARGET_FILE:${lib}> PARENT_SCOPE)
+    set(${output_var} -WHOLEARCHIVE:"$<TARGET_FILE:${lib}>" PARENT_SCOPE)
   else()
     # Assume everything else is like gcc
     set(${output_var} -Wl,--whole-archive ${lib} -Wl,--no-whole-archive PARENT_SCOPE)
