diff --git a/cmake/DD4hep_XML_setup.cmake b/cmake/DD4hep_XML_setup.cmake
index de29655ca92f0e435ef869d4dff72ad545d0a735..b9a10f79c7870d63f0cdeadea4cf980a25e2a0e9 100644
--- a/cmake/DD4hep_XML_setup.cmake
+++ b/cmake/DD4hep_XML_setup.cmake
@@ -1,8 +1,11 @@
 if(DD4HEP_USE_XERCESC)
   find_package( XercesC REQUIRED )
-  add_definitions(-DDD4HEP_USE_XERCESC)
-  include_directories(SYSTEM ${XERCESC_INCLUDE_DIRS})
-  set(XML_LIBRARIES ${XERCESC_LIBRARIES})
+  set_target_properties(XercesC::XercesC
+    PROPERTIES
+    COMPILE_DEFINITIONS DD4HEP_USE_XERCESC
+    INTERFACE_COMPILE_DEFINITIONS DD4HEP_USE_XERCESC
+    )
+  set(XML_LIBRARIES XercesC::XercesC)
 else()
   set ( DD4HEP_USE_XERCESC OFF )
   add_definitions(-DDD4HEP_USE_TINYXML)