diff --git a/CMake/FindEXPAT.cmake b/CMake/FindEXPAT.cmake
index 45d923764..0ebcd3c83 100644
--- a/CMake/FindEXPAT.cmake
+++ b/CMake/FindEXPAT.cmake
@@ -73,15 +73,37 @@ if(EXPAT_FOUND)
 
   if(NOT TARGET EXPAT::EXPAT)
     include(vtkDetectLibraryType)
-    vtk_detect_library_type(expat_library_type
-      PATH "${EXPAT_LIBRARY}")
+    if(EXPAT_LIBRARY_RELEASE)
+            vtk_detect_library_type(expat_library_type
+                                    PATH "${EXPAT_LIBRARY_RELEASE}")
+    elseif(EXPAT_LIBRARY_DEBUG)
+            vtk_detect_library_type(expat_library_type
+                                    PATH "${EXPAT_LIBRARY_RELEASE}")
+    else()
+            vtk_detect_library_type(expat_library_type
+                                    PATH "${EXPAT_LIBRARY}")
+    endif()
+
     add_library(EXPAT::EXPAT "${expat_library_type}" IMPORTED)
     unset(expat_library_type)
     set_target_properties(EXPAT::EXPAT PROPERTIES
-      IMPORTED_LINK_INTERFACE_LANGUAGES "C"
-      IMPORTED_LOCATION "${EXPAT_LIBRARY}"
-      IMPORTED_IMPLIB "${EXPAT_LIBRARY}"
-      INTERFACE_INCLUDE_DIRECTORIES "${EXPAT_INCLUDE_DIRS}")
+          IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+          INTERFACE_INCLUDE_DIRECTORIES "${EXPAT_INCLUDE_DIRS}")
+    if(EXPAT_LIBRARY_RELEASE)
+        set_target_properties(EXPAT::EXPAT PROPERTIES
+          IMPORTED_LOCATION_RELEASE "${EXPAT_LIBRARY_RELEASE}"
+          IMPORTED_IMPLIB_RELEASE "${EXPAT_LIBRARY_RELEASE}")
+    endif()
+    if(EXPAT_LIBRARY_DEBUG)
+        set_target_properties(EXPAT::EXPAT PROPERTIES
+          IMPORTED_LOCATION_DEBUG "${EXPAT_LIBRARY_DEBUG}"
+          IMPORTED_IMPLIB_DEBUG "${EXPAT_LIBRARY_DEBUG}")
+    endif()
+    if(EXPAT_LIBRARY_RELEASE OR EXPAT_LIBRARY_DEBUG AND NOT (EXPAT_LIBRARY_RELEASE AND EXPAT_LIBRARY_DEBUG))
+        set_target_properties(EXPAT::EXPAT PROPERTIES
+          IMPORTED_LOCATION "${EXPAT_LIBRARY}"
+          IMPORTED_IMPLIB "${EXPAT_LIBRARY}")
+    endif()
   endif()
 endif()