diff --git a/DDEve/CMakeLists.txt b/DDEve/CMakeLists.txt
index d1f6abfb3dc1ff4cab15425ccaccf37c090a6f5e..ce36212516cc13c497286ffa9117a288e6a1e375 100644
--- a/DDEve/CMakeLists.txt
+++ b/DDEve/CMakeLists.txt
@@ -31,14 +31,15 @@ new_dd4hep_add_dictionary(G__DDEve
   DEPENDS DDCore
   )
 
-if(LCIO_FOUND)
+if(TARGET LCIO::LCIO)
   SET(DDEVE_LCIO_SOURCES lcio/LCIOEventHandler.cpp)
+  SET(DDEVE_LCIO_LINK LCIO::LCIO)
 endif()
 
-new_dd4hep_add_plugin (DDEvePlugins SOURCES src/*.cpp 
-  GENERATED ${DDEVE_LCIO_SOURCES} G__DDEve.cxx
+new_dd4hep_add_plugin (DDEvePlugins SOURCES src/*.cpp ${DDEVE_LCIO_SOURCES}
+  GENERATED  G__DDEve.cxx
+  LINK_LIBRARIES DDCore DDEve_Interface ROOT::Eve ${DDEVE_LCIO_LINK}
   )
-target_link_libraries(DDEvePlugins DDCore DDEve_Interface ROOT::Eve)
 
 if(DD4HEP_USE_GEANT4)
   new_dd4hep_add_dictionary(G__DDG4IO
diff --git a/DDG4/CMakeLists.txt b/DDG4/CMakeLists.txt
index 47a683c9c600e47a8d24dd44c93c0a3e41d55f48..6963d331a9cb8b3dff031869ade65ec09521dda1 100644
--- a/DDG4/CMakeLists.txt
+++ b/DDG4/CMakeLists.txt
@@ -100,16 +100,19 @@ endif()
 IF(DD4HEP_USE_LCIO)
   new_dd4hep_add_plugin(DDG4LCIO
     SOURCES lcio/*.cpp
-    LINK_LIBRARIES LCIO::LCIO
+    LINK_LIBRARIES DDG4 LCIO::LCIO
     )
+  install(TARGETS DDG4LCIO LIBRARY DESTINATION lib)
 ENDIF()
 # #---------------------------  DDRec dependent Plugins  -----------------------------
-IF(DDRec)
-  new_dd4hep_add_plugin(DDG4Reco
-    SOURCES reco/*.cpp
-    LINK_LIBRARIES DDRec
-    )
-ENDIF()
+#This does not compile at the moment
+# IF(TARGET DDRec)
+#   new_dd4hep_add_plugin(DDG4Reco
+#     SOURCES reco/*.cpp
+#     LINK_LIBRARIES DDCore DDG4 DDRec
+#     )
+#   install(TARGETS DDG4Reco LIBRARY DESTINATION lib)
+# ENDIF()
 #-----------------------------------------------------------------------------------
 add_executable(g4gdmlDisplay g4gdmlDisplay.cpp)
 #-----------------------------------------------------------------------------------
@@ -126,6 +129,10 @@ dd4hep_install_dir(python/DDSim DESTINATION python)
 
 INSTALL(TARGETS DDG4 EXPORT DD4hep DESTINATION lib)
 INSTALL(TARGETS DDG4 DDG4Plugins
-  LIBRARY DESTINATION lib)
+  g4gdmlDisplay
+  g4FromXML
+  LIBRARY DESTINATION lib
+  RUNTIME DESTINATION bin
+  )
 
 INSTALL(DIRECTORY include/DDG4 DESTINATION include)
diff --git a/DDTest/CMakeLists.txt b/DDTest/CMakeLists.txt
index 479e24fcddfaef2fa8582af8de5e369677f1459e..4adb2e88032ca6ef28d91c5ab79bd28e725e5438 100644
--- a/DDTest/CMakeLists.txt
+++ b/DDTest/CMakeLists.txt
@@ -9,6 +9,9 @@
 #
 #=================================================================================
 
+add_library(DDTest INTERFACE)
+target_include_directories(DDTest INTERFACE include)
+
 foreach(TEST_NAME
     test_example
     test_bitfield64
@@ -20,8 +23,7 @@ foreach(TEST_NAME
     test_segmentationHandles
     )
   add_executable(${TEST_NAME} src/${TEST_NAME}.cc)
-  target_link_libraries(${TEST_NAME} DDCore DDRec)
-  target_include_directories(${TEST_NAME} PRIVATE ./include)
+  target_link_libraries(${TEST_NAME} DDCore DDRec DDTest)
   install(TARGETS ${TEST_NAME} DESTINATION bin)
 
   set(cmd ${CMAKE_INSTALL_PREFIX}/bin/run_test.sh ${TEST_NAME})
@@ -34,8 +36,7 @@ foreach(TEST_NAME
     test_surface
     )
   add_executable(${TEST_NAME} src/${TEST_NAME}.cc)
-  target_link_libraries(${TEST_NAME} DDCore DDRec)
-  target_include_directories(${TEST_NAME} PRIVATE ./include)
+  target_link_libraries(${TEST_NAME} DDCore DDRec DDTest)
   install(TARGETS ${TEST_NAME} DESTINATION bin)
   add_test(NAME t_${TEST_NAME}
     COMMAND ${CMAKE_INSTALL_PREFIX}/bin/run_test.sh ${TEST_NAME} file:${CMAKE_CURRENT_SOURCE_DIR}/units.xml)
diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake
index e4a1c2a6df28e0cf34fc7e40940eea1f995eebfe..9b43f8efc4c6d61269f5271fbdab4e54b8ea4fdb 100644
--- a/cmake/DD4hepBuild.cmake
+++ b/cmake/DD4hepBuild.cmake
@@ -1765,10 +1765,12 @@ MACRO(DD4HEP_SETUP_GEANT4_TARGETS)
 ENDMACRO()
 
 MACRO(DD4HEP_SETUP_LCIO_TARGETS)
-
   IF(NOT TARGET LCIO::LCIO)
-    ADD_LIBRARY(LCIO::LCIO INTERFACE GLOBAL)
-    TARGET_LINK_LIBRARIES(LCIO::LCIO ${LCIO_LIBRARIES})
-    TARGET_INLCUDE_DIRECTORIES(LCIO::LCIO INTERFACE ${LCIO_INCLUDE_DIRS})
+    ADD_LIBRARY(LCIO::LCIO INTERFACE IMPORTED GLOBAL)
+    SET_TARGET_PROPERTIES(LCIO::LCIO
+      PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${LCIO_INCLUDE_DIRS}"
+      INTERFACE_LINK_LIBRARIES "${LCIO_LIBRARIES}"
+      )
   ENDIF()
 ENDMACRO()