diff --git a/cmake/DD4hep_XML_setup.cmake b/cmake/DD4hep_XML_setup.cmake
index 69ff1d356461415ad404be69c805fe168606a378..c70b32612d225cf1ca72c2284cfeefb7d780318f 100644
--- a/cmake/DD4hep_XML_setup.cmake
+++ b/cmake/DD4hep_XML_setup.cmake
@@ -6,6 +6,10 @@ if(DD4HEP_USE_XERCESC)
     INTERFACE_COMPILE_DEFINITIONS DD4HEP_USE_XERCESC
     )
   set(XML_LIBRARIES XercesC::XercesC)
+  get_target_property(_loc XercesC::XercesC LOCATION)
+  get_filename_component(XERCESC_LIB_DIR "${_loc}" DIRECTORY)
+  get_filename_component(XERCESC_ROOT_DIR "${XERCESC_LIB_DIR}" DIRECTORY)
+  unset(_loc)
 else()
   set(DD4HEP_USE_XERCESC OFF)
   IF(NOT TARGET TinyXML AND NOT TARGET DD4hep::TinyXML)