diff --git a/VCI/VCICommon.cmake b/VCI/VCICommon.cmake
index 63373a37d4e24e2822212258ac853357ab18676d..fb363718c77ac904a639e9e8435ba3669969005c 100644
--- a/VCI/VCICommon.cmake
+++ b/VCI/VCICommon.cmake
@@ -1,4 +1,6 @@
 include (MSVCMacros)
+include (VCIPaths)
+
 if (EXISTS ${CMAKE_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.cmake)
   include (${CMAKE_SOURCE_DIR}/${CMAKE_PROJECT_NAME}.cmake)
 endif ()
diff --git a/VCI/VCIPaths.cmake b/VCI/VCIPaths.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..83044c7868e99aaa9305784159b3f7df8b02c03d
--- /dev/null
+++ b/VCI/VCIPaths.cmake
@@ -0,0 +1,46 @@
+################################################################################
+# Custom search paths for libraries
+################################################################################
+
+if ( WIN32 )
+
+  find_path(VCI_WINDOWS_LIBS_DIR general/README.md
+    DOC "Default library search dir for on windows."
+    HINTS "C:/libs/"
+          "D:/libs/"
+          "E:/libs/")
+
+  if (VCI_WINDOWS_LIBS_DIR)
+    # add path to general libs
+    list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/general/")
+
+    # add path for Visual Studio specific libraries
+    # TODO: remove VS_SEARCH_PATH when the finders do not depend on it anymore
+    if ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*Win64" )
+      list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/vs2012/x64/")
+      SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2012/x64/")
+    elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*" )
+      list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/vs2012/x32/")
+      SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2012/x32/")
+    elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 12.*Win64" )
+      list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/vs2013/x64/")
+      SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2013/x64/")
+    elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 12.*" )
+      list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/vs2013/x32/")
+      SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2013/x32/")
+    elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 14.*Win64" )
+      list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/vs2015/x64/")
+      SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2015/x64/")
+    elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 14.*" )
+      list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/vs2015/x32/")
+      SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2015/x32/")
+    elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 15.*Win64" )
+      list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/vs2017/x64/")
+      SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2017/x64/")
+    elseif ( CMAKE_GENERATOR MATCHES "^Visual Studio 15.*" )
+      list(APPEND CMAKE_PREFIX_PATH "${VCI_WINDOWS_LIBS_DIR}/vs2017/x32/")
+      SET(VS_SEARCH_PATH "${CMAKE_WINDOWS_LIBS_DIR}/vs2017/x32/")
+    endif()
+  endif()
+
+endif( WIN32 )