diff --git a/DDCore/CMakeLists.txt b/DDCore/CMakeLists.txt
index b1a8a3952b5ec674faa6035d95488b2b6a3c456b..792e9a5a1a736f9a464fdcf496922b8aff864dda 100644
--- a/DDCore/CMakeLists.txt
+++ b/DDCore/CMakeLists.txt
@@ -7,6 +7,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include
                     ${XERCESC_INCLUDE_DIR})
 
 file(GLOB sources src/*.cpp src/Evaluator/*.cpp)
+file(GLOB plugin_sources src/plugins/*.cpp)
 
 if(DD4HEP_USE_PYROOT)
   file(GLOB headers include/DD4hep/*.h)
@@ -19,15 +20,19 @@ if(DD4HEP_USE_PYROOT)
 endif()
 
 if(DD4HEP_USE_XERCESC)
-  file(GLOB xmlsources src/XML/*.cpp src/compact/*.cpp src/lcdd/*.cpp)
+  file(GLOB xmlsources src/XML/*.cpp)
   list(APPEND sources ${xmlsources})
   add_definitions(-DDD4HEP_USE_XERCESC)
 endif()
 
 add_library(DD4hepCore SHARED ${sources})
 target_link_libraries(DD4hepCore ${ROOT_LIBRARIES} ${XERCESC_LIBRARIES} Geom Reflex ${libraries})
-
 #---Rootmap generation--------------------------------------------------------------
 dd4hep_generate_rootmap(DD4hepCore)
 
+add_library(DD4hepPlugins SHARED ${plugin_sources})
+target_link_libraries(DD4hepPlugins ${ROOT_LIBRARIES} DD4hepCore Geom Reflex ${libraries})
+#---Rootmap generation--------------------------------------------------------------
+dd4hep_generate_rootmap(DD4hepPlugins)
+