diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake
index 9a2f67bdec2952a8fa827f916c302795f224a65c..03c83bef6c5ace167b360d03d16148b910282776 100644
--- a/cmake/DD4hepBuild.cmake
+++ b/cmake/DD4hepBuild.cmake
@@ -129,26 +129,6 @@ function ( dd4hep_debug msg )
   endif()
 endfunction( dd4hep_debug )
 
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_include_directories
-#
-#  Same as include_directories but treat all external packages as SYSTEM -> no warnings
-#
-#  \author  A.Sailer
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_include_directories pkg_incs )
-  FOREACH( INCDIR ${pkg_incs} )
-    string(FIND "${INCDIR}" "${CMAKE_SOURCE_DIR}" out)
-    IF("${out}" EQUAL 0)
-      INCLUDE_DIRECTORIES( ${INCDIR} )
-    ELSE()
-      INCLUDE_DIRECTORIES( SYSTEM ${INCDIR} )
-    ENDIF()
-  ENDFOREACH()
-endfunction( dd4hep_include_directories )
-
 #---------------------------------------------------------------------------------------------------
 #  dd4hep_print
 #
@@ -342,171 +322,8 @@ function ( dd4hep_list_to_string result )
 endfunction ( dd4hep_list_to_string )
 
 #---------------------------------------------------------------------------------------------------
-#  dd4hep_make_unique_list
-#
-#  Create clean list without duplicate entries.
-#
-#  \author  M.Frank
-#  \version 1.0
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_make_unique_list name )
-  cmake_parse_arguments ( ARG "" "" "VALUES" ${ARGN} )
-  set ( vals )
-  foreach( v ${ARG_VALUES} )
-    set ( vals "${vals} ${v}" )
-  endforeach()
-  string( REGEX REPLACE " " ";" vals "${vals}" )
-  if( NOT "${vals}" STREQUAL "" )
-    list ( REMOVE_DUPLICATES vals )
-  endif()
-  set( ${name} ${vals} PARENT_SCOPE )
-endfunction( dd4hep_make_unique_list )
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_find_packageEx
-#
-#  \author  M.Frank
-#  \version 1.0
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_find_packageEx PKG_NAME )
-  set ( pkg ${PKG_NAME} )
-  string ( TOUPPER "${pkg}" pkg )
-  if ( "${pkg}" STREQUAL "GEANT4" )
-    set (pkg "Geant4" )
-  elseif ( "${pkg}" STREQUAL "BOOST" )
-    set (pkg "Boost" )
-  elseif ( "${pkg}" STREQUAL "LCIO" )
-    set (pkg "LCIO" )
-  elseif ( "${pkg}" STREQUAL "XERCESC" )
-    set (pkg "XercesC" )
-  elseif ( "${pkg}" STREQUAL "DD4HEP" )
-    set (pkg "DD4hep" )
-  elseif ( "${pkg}" STREQUAL "GIT2" )
-    set (pkg "git2" )
-  elseif ( "${pkg}" STREQUAL "FMT" )
-    set (pkg "fmt" )
-  endif()
-  dd4hep_debug( "Call find_package( ${pkg}/${PKG_NAME} ${ARGN})" )
-  ##MESSAGE(STATUS "Call find_package( ${pkg}/${PKG_NAME} ${ARGN})" )
-  ##dd4hep_print ( "Call find_package( ${pkg}/${PKG_NAME} ${ARGN})" )
-  if ( "${${pkg}_LIBRARIES}" STREQUAL "" )
-    cmake_parse_arguments(ARG "" "" "ARGS" ${ARGN} )
-    find_package( ${pkg} ${ARG_ARGS} )
-  else()
-    cmake_parse_arguments(ARG "" "" "ARGS" ${ARGN} )
-    find_package( ${pkg} ${ARG_ARGS} )
-  endif()
-  # Propagate values to caller
-  string ( TOUPPER "${pkg}" PKG )
-  set ( libs ${${pkg}_LIBRARY}     ${${pkg}_LIBRARIES}   ${${pkg}_COMPONENT_LIBRARIES} )
-  set ( incs ${${pkg}_INCLUDE_DIR} ${${pkg}_INCLUDE_DIRS} )
-  if ( NOT "${pkg}" STREQUAL "${PKG}" )
-    set ( libs ${libs}  ${${PKG}_LIBRARIES} ${${PKG}_LIBRARY} ${${PKG}_COMPONENT_LIBRARIES} )
-    set ( incs ${incs}  ${${PKG}_INCLUDE_DIRS} ${${PKG}_INCLUDE_DIR} )
-  endif()
-  ##MESSAGE(STATUS "Call find_package: ${pkg}/${PKG_NAME} -> ${libs}" )
-  dd4hep_make_unique_list ( libs VALUES ${libs} )
-  dd4hep_make_unique_list ( incs VALUES ${incs} )
-
-  set ( ${PKG}_EXISTS       "ON"       PARENT_SCOPE )
-  set ( ${PKG}_LIBRARIES    ${libs}    PARENT_SCOPE )
-  set ( ${PKG}_INCLUDE_DIRS ${incs}    PARENT_SCOPE )
-  if ( "${incs}" STREQUAL "" )
-    dd4hep_fatal ( "Unknown package ${pkg}" )
-  endif()
-endfunction( dd4hep_find_packageEx )
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_find_package
-# 
-#  Find dependent packages.
-#
-#  - Allows to also find internal packages like e.g. DDCore, DDG4 using the internal
-#    libarary cache stored in DD4HEP_ALL_PACKAGES. 
-#  - If a libary is not explicitly mentioned therein, and the package is not explicitly 
-#    switched OFF by a global property of the name "DD4HEP_USE_${name}" or a global 
-#    variable "DD4HEP_USE_${name}", dd4hep_find_packageEx is called.
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_find_package name found )
-  cmake_parse_arguments(ARG "" "TYPE" "" ${ARGN} )
-  string ( TOUPPER ${name} NAME )
-  get_property ( all_packages GLOBAL PROPERTY DD4HEP_ALL_PACKAGES )
-  set ( found_package -1 )
-
-  if ( NOT "${all_packages}" STREQUAL "" )
-    list ( FIND all_packages "${NAME}" found_package )
-  endif()
-
-  get_property( use_pkg   GLOBAL PROPERTY DD4HEP_USE_${NAME} )
-
-  # For internal dependencies we rely on the correct order of the included directories
-  if ( NOT found_package EQUAL -1 )
-    # Resolve dependency from local packages
-    get_property(used GLOBAL PROPERTY DD4HEP_USE_${NAME} )
-    get_property(incs GLOBAL PROPERTY ${NAME}_INCLUDE_DIRS )
-    get_property(libs GLOBAL PROPERTY ${NAME}_LIBRARIES )
-    set ( DD4HEP_USE_${NAME}   "ON"    PARENT_SCOPE )
-    set ( ${NAME}_LIBRARIES    ${libs} PARENT_SCOPE )
-    set ( ${NAME}_INCLUDE_DIRS ${incs} PARENT_SCOPE )
-    set ( ${found} "ON" PARENT_SCOPE )
-  elseif ( found_package EQUAL -1 AND "${ARG_TYPE}" STREQUAL "INTERNAL" )
-    set_property( GLOBAL PROPERTY DD4HEP_USE_${NAME} "OFF" )
-    set ( ${found} "OFF" PARENT_SCOPE )
-  elseif ( ( DEFINED DD4HEP_USE_${name} AND NOT "${DD4HEP_USE_${name}}" ) OR
-           ( DEFINED DD4HEP_USE_${NAME} AND NOT "${DD4HEP_USE_${NAME}}" ) )
-    set ( ${found} "OFF" PARENT_SCOPE )
-  elseif ( DEFINED use_pkg AND NOT "${use_pkg}" )
-    set ( ${found} "OFF" PARENT_SCOPE )
-  else()
-    #
-    # 3 possibilities left:
-    # 1) Either use external package cache from previous call (same call args!) or
-    # 2) call findPackage again/first time....or
-    # 3) package does not exist!
-    #
-    get_property( pkg_setup GLOBAL PROPERTY ${NAME}_COMPONENTS )
-    set ( ARGN ${ARG_UNPARSED_ARGUMENTS} )
-    set ( arguments ${NAME} ${ARGN} )
-    list ( REMOVE_DUPLICATES arguments )
-    list ( REMOVE_ITEM arguments "REQUIRED" "QUIET" )
-
-    if ( "${pkg_setup}" STREQUAL "${arguments}" )
-      get_property ( incs   GLOBAL PROPERTY ${NAME}_INCLUDE_DIRS )
-      get_property ( libs   GLOBAL PROPERTY ${NAME}_LIBRARIES    )
-      get_property ( exists GLOBAL PROPERTY ${NAME}_EXISTS       )
-      set ( DD4HEP_USE_${NAME}   "ON"       PARENT_SCOPE )
-      set ( ${NAME}_EXISTS       ${exists}  PARENT_SCOPE )
-      set ( ${NAME}_LIBRARIES    ${libs}    PARENT_SCOPE )
-      set ( ${NAME}_INCLUDE_DIRS ${incs}    PARENT_SCOPE )
-      set ( ${found}             "ON"       PARENT_SCOPE )	
-    else()
-      dd4hep_find_packageEx( ${name} ${ARGN} )
-      dd4hep_debug("DD4hep_find_package: DD4HEP_USE_${name}: ${DD4HEP_USE_${NAME}} Exists: ${${NAME}_EXISTS} ARGS:${arguments}")
-      if ( "${${NAME}_EXISTS}" )
-	dd4hep_debug( "DD4hep_find_package ${NAME} Incs: ${incs}" )
-	dd4hep_debug( "DD4hep_find_package ${NAME} Libs: ${libs}" )
-	set_property ( GLOBAL PROPERTY ${NAME}_COMPONENTS   ${arguments} )
-	set_property ( GLOBAL PROPERTY ${NAME}_INCLUDE_DIRS ${${NAME}_INCLUDE_DIRS} )
-	set_property ( GLOBAL PROPERTY ${NAME}_LIBRARIES    ${${NAME}_LIBRARIES} )
-	set_property ( GLOBAL PROPERTY ${NAME}_EXISTS       ${${NAME}_EXISTS} )
-	dd4hep_to_parent_scope ( DD4HEP_USE_${NAME} )
-	dd4hep_to_parent_scope ( ${NAME}_EXISTS )
-	dd4hep_to_parent_scope ( ${NAME}_LIBRARIES )
-	dd4hep_to_parent_scope ( ${NAME}_INCLUDE_DIRS )
-	set ( ${found} "ON" PARENT_SCOPE )
-      else()
-	set ( ${found} "OFF" PARENT_SCOPE )
-      endif()
-    endif()
-  endif()
-endfunction( dd4hep_find_package )
-
 #---------------------------------------------------------------------------------------------------
-#  dd4hep_install_dir
+#  dd4hep_install_dir: DEPRECATED, used in examples
 #
 #  Install all directories as indicated by all unparsed arguments to the 
 #  output destination DESTINATION.
@@ -526,458 +343,6 @@ function( dd4hep_install_dir )
   endif()
 endfunction( dd4hep_install_dir )
 
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_install_includes
-#
-#  Install all include directories as indicated by all unparsed arguments to the 
-#  output destination DESTINATION.
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_install_includes package )
-  dd4hep_print ( "DD4hep_install_includes[${package}]: ${ARGN}" )
-  dd4hep_install_dir( ${ARGN} DESTINATION include )
-endfunction()
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_install_files
-#
-#  Install all files as indicated by the FILES argument or all unparsed arguments to the 
-#  output destination DESTINATION.
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_install_files )
-  cmake_parse_arguments ( ARG "" "DESTINATION" "FILES" "PROGRAMS" ${ARGN} )
-  foreach ( f ${ARG_PROGRAMS} )
-    file ( GLOB sources ${f} )
-    install (PROGRAMS ${sources} DESTINATION ${ARG_DESTINATION} )
-  endforeach()
-  foreach ( f ${ARG_UNPARSED_ARGUMENTS} ${ARG_FILES} )
-    file ( GLOB sources ${f} )
-    install (FILES ${sources} DESTINATION ${ARG_DESTINATION} )
-  endforeach()
-endfunction( dd4hep_install_files )
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_unpack_package_opts
-#
-#  INTERNAL routine not to be used directly by clients
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_unpack_package_opts name opt )
-  set ( nam_pkg  )
-  set ( req_pkg  )
-  set ( typ_pkg  )
-  set ( com_pkg )
-  set ( comp_pkg )
-  set ( srcs_pkg )
-  set ( defs_pkg )
-  if ( "${opt}" MATCHES "\\[" )
-    string ( REGEX REPLACE "\\[;" "" opt "${opt}" )
-    string ( REGEX REPLACE "\\["  "" opt "${opt}" )
-    string ( REGEX REPLACE ";\\]" "" opt "${opt}" )
-    string ( REGEX REPLACE "\\]"  "" opt "${opt}" )
-    string ( REPLACE ";" ";" all_opt "${opt}" )
-    dd4hep_debug ( "unpack ${name} : ${opt}" )
-    foreach( e ${all_opt} )
-      if( "${nam_pkg}" STREQUAL "" )
-        set ( nam_pkg ${e} )
-        unset ( act_pkg )
-      elseif ( ${e} STREQUAL "REQUIRED" )
-        set ( req_pkg ${e} )
-        unset ( act_pkg )
-      elseif ( ${e} STREQUAL "INTERNAL" )
-        set ( typ_pkg ${e} )
-        unset ( act_pkg )
-      elseif ( ${e} STREQUAL "EXTERNAL" )
-        set ( typ_pkg ${e} )
-        unset ( act_pkg )
-      elseif ( "${com_pkg}" STREQUAL "" AND ${e} STREQUAL "COMPONENTS" )
-        set ( com_pkg ${e} )
-        set ( act_pkg ${e} )
-      elseif ( "${src_pkg}" STREQUAL "" AND ${e} STREQUAL "SOURCES" )
-        set ( act_pkg ${e} )
-      elseif ( "${def_pkg}" STREQUAL "" AND ${e} STREQUAL "DEFINITIONS" )
-        set ( act_pkg ${e} )
-      elseif ( "${act_pkg}" STREQUAL "COMPONENTS" )
-        set ( comp_pkg ${comp_pkg} ${e} )
-      elseif ( "${act_pkg}" STREQUAL "SOURCES" )
-        set ( srcs_pkg ${srcs_pkg} ${e} )
-      elseif ( "${act_pkg}" STREQUAL "DEFINITIONS" )
-        set ( defs_pkg ${defs_pkg} ${e} )
-      endif()
-    endforeach()
-  else()
-    set ( nam_pkg ${opt} )
-    set ( req_pkg REQUIRED )
-  endif()
-  string ( TOUPPER "${nam_pkg}" nam_pkg )
-  set ( ${name}_NAME        ${nam_pkg}   PARENT_SCOPE )
-  set ( ${name}_REQUIRED    ${req_pkg}   PARENT_SCOPE )
-  set ( ${name}_TYPE        ${typ_pkg}   PARENT_SCOPE )
-  set ( ${name}_COMPONENT   ${com_pkg}   PARENT_SCOPE )
-  set ( ${name}_COMPONENTS  ${comp_pkg}  PARENT_SCOPE )
-  set ( ${name}_SOURCES     ${srcs_pkg}  PARENT_SCOPE )
-  set ( ${name}_DEFINITIONS ${defs_pkg}  PARENT_SCOPE )
-  dd4hep_debug ( "unpack ${name} : ${nam_pkg} ${req_pkg} ${com_pkg} comp: ${comp_pkg} src: ${srcs_pkg}" )
-endfunction ( dd4hep_unpack_package_opts )
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_get_dependency_opts
-#
-#  INTERNAL routine not to be used directly by clients
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_get_dependency_opts local_incs local_libs local_uses pkg )
-  #
-  #  If the variables <package>_INCLUDE_DIRS and <package>_LIBRARIES were not set
-  #  at the parent level, check if a corresponding property exists....
-  #
-  string ( TOUPPER "${pkg}" pkg )
-  if ( "${${pkg}_INCLUDE_DIRS}" STREQUAL "" )
-    get_property ( ${pkg}_INCLUDE_DIRS GLOBAL PROPERTY ${pkg}_INCLUDE_DIRS )
-  endif()
-  if ( "${${pkg}_LIBRARIES}" STREQUAL "" )
-    get_property(${pkg}_LIBRARIES    GLOBAL PROPERTY ${pkg}_LIBRARIES )
-  endif()
-  set ( libs "${${pkg}_LIBRARIES}" )
-  string ( REGEX REPLACE "  " " " libs "${libs}" )
-  string ( REGEX REPLACE " " ";"  libs "${libs}" )
-
-  set ( incs "${${pkg}_INCLUDE_DIRS}" )
-  string ( REGEX REPLACE "  " " " incs "${incs}" )
-  string ( REGEX REPLACE " " ";"  incs "${incs}" )
-  
-  set ( uses "${${pkg}_USES}" )
-  string ( REGEX REPLACE "  " " " uses "${uses}" )
-  string ( REGEX REPLACE " " ";"  uses "${uses}" )
-  
-  set ( ${local_incs} ${incs} PARENT_SCOPE )
-  set ( ${local_libs} ${libs} PARENT_SCOPE )
-  set ( ${local_uses} ${uses} PARENT_SCOPE )
-endfunction ( dd4hep_get_dependency_opts )
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_handle_optional_sources
-#
-#  INTERNAL routine not to be used directly by clients
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_handle_optional_sources tag optionals missing uses sources )
-  get_property ( pkg DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY PACKAGE_NAME)
-  set (miss)
-  set (src)
-  set (use)
-  foreach ( opt ${optionals} )
-    dd4hep_unpack_package_opts ( USE ${opt} )
-    dd4hep_debug ( "unpack DD4HEP_USE_${USE_NAME}=${DD4HEP_USE_${USE_NAME}} <> ${use_pkg} -- ${opt}" )
-    dd4hep_debug ( "|++> ${tag} find_package( ${USE_NAME} ARGS: ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} ${USE_TYPE} )")
-    dd4hep_find_package( ${USE_NAME} pkg_found 
-      ARGS ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} 
-      TYPE ${USE_TYPE} )
-    if ( DEFINED pkg_found AND NOT "${pkg_found}" )
-      dd4hep_print ( "|    ${tag}  ...optional: Skip sources ${USE_SOURCES} [requires ${USE_NAME}]" )
-    elseif ( DEFINED pkg_found AND "${pkg_found}" )
-      dd4hep_print ( "|    ${tag}  ...optional: ADD sources ${USE_SOURCES} [dependent on ${USE_NAME}]" )
-      file ( GLOB opt_sources ${USE_SOURCES} )
-      set ( src ${src} ${opt_sources} )
-      set ( use ${use} ${opt} )
-    elseif ( "${USE_REQUIRED}" STREQUAL "REQUIRED" )
-      set ( miss ${miss} ${USE_NAME} )
-    else()
-      dd4hep_print ( "|    ${tag}  ...optional: Skip sources ${USE_SOURCES} [requires ${USE_NAME}]" )
-    endif()
-  endforeach()
-  set ( ${missing} ${miss} PARENT_SCOPE )
-  set ( ${uses}    ${use}  PARENT_SCOPE )
-  set ( ${sources} ${src}  PARENT_SCOPE )
-endfunction(dd4hep_handle_optional_sources)
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_use_package
-#
-#  INTERNAL routine not to be used directly by clients
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function( dd4hep_use_package print_prefix inName outName )
-  cmake_parse_arguments( ARG "" "NAME" "USES;OPTIONAL" ${ARGN} )
-  get_property ( pkg DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY PACKAGE_NAME )
-  #
-  get_property ( pkg_incs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_INCLUDE_DIRS   )
-  get_property ( pkg_libs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_LINK_LIBRARIES )
-  get_property ( pkg_uses DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_USES )
-  #
-  set ( missing )
-  set ( used_uses ${pkg_uses} )
-  set ( used_incs ${pkg_incs} )
-  set ( used_libs ${pkg_libs} )
-  #
-  foreach( use ${ARG_USES} )
-    if( "${use}" MATCHES "\\[" )
-      dd4hep_unpack_package_opts ( USE ${use} )
-      dd4hep_find_package( ${USE_NAME} pkg_found ARGS ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} )
-      set ( use ${USE_NAME} )
-    else()
-      dd4hep_find_package( ${use} pkg_found )
-    endif()
-    if ( "${pkg_found}" )
-      dd4hep_debug ( "${print_prefix} package_libs: ${${use}_LIBRARIES}" )
-      set ( use ${use} )
-    elseif ( NOT "{pkg_found}" )
-      dd4hep_print ( "|++> ${print_prefix} ...Missing package: ${use} [Ignored]" )
-      unset ( use )
-    elseif ( "${USE_REQUIRED}" STREQUAL "REQUIRED" )
-      dd4hep_fatal ( "${print_prefix} ...Missing package: ${use} [Fatal REQUIRED]" )
-      set ( missing ${missing} ${use} )
-      unset ( use )
-    else()
-      dd4hep_print ( "|    ${print_prefix}  ...optional: Skip sources ${USE_SOURCES} [Usage ${use} not defined]" )
-      unset ( use )
-    endif()
-    set ( used_uses ${used_uses} ${use} )
-  endforeach()
-  #
-  #
-  #
-  foreach ( use ${ARG_UNPARSED_ARGUMENTS} ${ARG_OPTIONAL} )
-    if ( "${use}" MATCHES "\\[" )
-      dd4hep_unpack_package_opts ( USE ${use} )
-      dd4hep_find_package ( ${USE_NAME} pkg_found ARGS ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} )
-      set ( use ${USE_NAME} )
-      set ( src "sources ${USE_SOURCES}" )
-    else()
-      dd4hep_find_package ( ${use} pkg_found )
-      set ( src ${use} )
-    endif()
-    if ( NOT "${pkg_found}" )
-      dd4hep_print ( "|    ${print_prefix}  ...optional: Skip optional ${src} [${use} Not defined]" )
-      unset ( use )
-    endif()
-    set ( used_uses ${used_uses} ${use} )
-  endforeach()
-  #
-  set (all_used ${used_uses} )
-  foreach ( use ${used_uses} )
-    get_property ( dependent_uses GLOBAL PROPERTY ${use}_USES )
-    foreach ( dependent ${dependent_uses} )
-      list ( FIND used_uses ${dependent} already_used )
-      if ( ${already_used} EQUAL -1 )
-	dd4hep_debug ( "${print_prefix} ADD DEPENDENCY:  ${use} -->  ${dependent}" )
-	set ( all_used ${all_used} ${dependent} )
-      else()
-	dd4hep_debug(  "${print_prefix} ALREADY DEPENDS: ${use} -->  ${dependent}")
-	set ( all_used ${all_used} ${dependent} )
-      endif()
-    endforeach()
-  endforeach()
-  #
-  set ( used_uses ${all_used} )
-  foreach ( use ${used_uses} )
-    dd4hep_get_dependency_opts( local_incs local_libs local_uses ${use} )
-    set ( used_incs ${used_incs} ${local_incs} )
-    set ( used_libs ${used_libs} ${local_libs} )
-    dd4hep_make_unique_list ( used_incs VALUES ${used_incs} )
-    dd4hep_make_unique_list ( used_libs VALUES ${used_libs} )
-    dd4hep_debug ( "${print_prefix} DEPENDENCY: ${use} Lib: ${local_libs} " )
-    dd4hep_debug ( "${print_prefix} DEPENDENCY: ${use} Inc: ${local_incs} " )
-  endforeach()
-  #
-  dd4hep_make_unique_list ( used_incs VALUES ${used_incs} )
-  dd4hep_make_unique_list ( used_libs VALUES ${used_libs} )
-  dd4hep_make_unique_list ( used_uses VALUES ${used_uses} )
-  dd4hep_make_unique_list ( missing   VALUES ${missing} )
-  #
-  if ( "${used_uses}" STREQUAL "" AND "${missing}" STREQUAL "" )
-    dd4hep_print ( "|++> ${print_prefix} Uses  DEFAULTS" )
-  elseif ( "${missing}" STREQUAL "" )
-    dd4hep_print ( "|++> ${print_prefix} Uses: ${used_uses}" )
-  else()
-    dd4hep_debug ( "${print_prefix} Uses:   ${used_uses} " )
-    dd4hep_debug ( "${print_prefix} Missing:${missing} " )
-  endif()
-  dd4hep_debug ( "${print_prefix} Dep.Incs:${used_incs} " )
-  dd4hep_debug ( "${print_prefix} Dep.Libs:${used_libs} " )
-  #
-  set ( ${outName}_MISSING        ${missing}   PARENT_SCOPE )
-  set ( ${outName}_INCLUDE_DIRS   ${used_incs} PARENT_SCOPE )
-  set ( ${outName}_LINK_LIBRARIES ${used_libs} PARENT_SCOPE )
-  set ( ${outName}_USES           ${used_uses} PARENT_SCOPE )
-endfunction()
-
-#---------------------------------------------------------------------------------------------------
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_package_properties name upper enabled )
-  get_property(n DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY PACKAGE_NAME)
-  string ( TOUPPER "${n}" N )
-  get_property(e GLOBAL PROPERTY DD4HEP_USE_${N} )
-  set ( ${name} ${n} PARENT_SCOPE )
-  set ( ${upper} ${N} PARENT_SCOPE )
-  set ( ${enabled} ${e} PARENT_SCOPE )
-endfunction()
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_add_regular_library
-#
-#  Arguments      -> See function dd4hep_add_library
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function( dd4hep_add_regular_library library )
-  dd4hep_package_properties( pkg PKG enabled )
-  set ( tag "Package library[${pkg}] -> ${library}" )
-  if ( NOT "${enabled}" )
-    dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" )
-  else()
-    dd4hep_add_library( ${library} building ${ARGN} PRINT ${tag} )
-    if ( "${building}" )
-      dd4hep_debug ( "add_package_library -> ${library} ${PKG}_LIBRARIES:${pkg_libs}" )
-    else()
-      dd4hep_fatal ( "Package library[${pkg}] -> ${binary} Cannot be built! This is an ERROR condition." )    
-    endif()
-  endif()
-endfunction(dd4hep_add_regular_library)
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_add_package_library
-#
-#  Package libraries are automatically added to the package's link libraries.
-#  Package plugins and plugins depending on a package automically link against 
-#  these libraries.
-#
-#  Arguments      -> See function dd4hep_add_library
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function( dd4hep_add_package_library library )
-  dd4hep_package_properties( pkg PKG enabled )
-  set ( tag "Package library[${pkg}] -> ${library}" )
-  if ( NOT "${enabled}" )
-    dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" )
-  else()
-    dd4hep_add_library( ${library} building ${ARGN} PRINT ${tag} )
-    if ( "${building}" )
-      get_property(pkg_libs GLOBAL PROPERTY PROPERTY ${PKG}_LIBRARIES )
-      dd4hep_make_unique_list ( pkg_libs VALUES ${pkg_libs} ${library} )
-      set_property(GLOBAL PROPERTY ${PKG}_LIBRARIES ${pkg_libs} )
-      # Test and print if correct
-      get_property(pkg_libs GLOBAL PROPERTY PROPERTY ${PKG}_LIBRARIES )
-      dd4hep_debug ( "add_package_library -> ${library} ${PKG}_LIBRARIES:${pkg_libs}" )
-    else()
-      dd4hep_fatal ( "Package library[${pkg}] -> ${binary} Cannot be built! This is an ERROR condition." )    
-    endif()
-  endif()
-endfunction(dd4hep_add_package_library)
-
-#---------------------------------------------------------------------------------------------------
-#  dd4hep_add_executable
-#
-#  Arguments
-#  ---------
-#  binary        -> plugin name
-#  SOURCES        -> list of source files. Will be expanded to absolute names
-#
-#  The following variables EXTEND the package defaults
-#  INCLUDE_DIRS   -> Additional include directories need to compile the binary
-#  LINK_LIBRARIES -> Additional libraries needed to link the binary
-#  USES           -> Required package dependencies
-#  OPTIONAL       -> Optional package dependency
-#                    if required e.g. [LCIO REQUIRED SOURCES aaa.cpp] the plugin will NOT be built
-#                    else        e.g. [LCIO          SOURCES aaa.cpp] the plugin will be built, but
-#                                     the source files will be omitted.
-#  DEFINITIONS    -> Optional compiler definitions to compile the sources
-#
-#  \author  M.Frank
-#  \version 1.0
-#
-#---------------------------------------------------------------------------------------------------
-function ( dd4hep_add_executable binary )
-  #set ( DD4HEP_DEBUG_CMAKE "ON" )
-  dd4hep_package_properties( pkg PKG enabled )
-  set ( tag "Executable[${pkg}] -> ${binary}" )
-  if ( NOT "${enabled}" )
-    dd4hep_skipmsg ( "${tag} DISBALED -- package is not built!" )
-  else()
-    cmake_parse_arguments ( ARG "" "" "SOURCES;GENERATED;LINK_LIBRARIES;INCLUDE_DIRS;USES;OPTIONAL" ${ARGN})
-    dd4hep_debug( "+------------------------------------------- <<<< EXECUTABLE ${pkg}:${binary} >>>> Version: ${${pkg}_VERSION}" )
-    if ( NOT "${ARG_OPTIONAL}" STREQUAL "" )
-      dd4hep_handle_optional_sources ( ${tag} "${ARG_OPTIONAL}" optional_missing optional_uses optional_sources )
-    endif()
-    #
-    if ( NOT "${optional_missing}" STREQUAL "" )
-      dd4hep_print ( "|++> ${tag} SKIPPED. Missing optional dependencies: ${optional_missing}" )
-    else()
-      set ( uses ${ARG_USES} ${optional_uses} )
-      dd4hep_use_package ( ${tag} PACKAGE LOCAL 
-        USES     "${uses}"
-        OPTIONAL "${ARG_OPTIONAL}" )
-      if ( "${LOCAL_MISSING}" STREQUAL "" )
-        dd4hep_debug ( "${tag} Executable uses:     ${ARG_USES} -- ${uses}" )
-        dd4hep_debug ( "${tag} Executable optional: ${ARG_OPTIONAL}" )
-        #
-        get_property ( pkg_library GLOBAL PROPERTY ${PKG}_LIBRARIES )
-        #
-        #  Sources may also be supplied without argument tag:
-        if( "${ARG_SOURCES}" STREQUAL "")
-	  set ( ARG_SOURCES ${ARG_UNPARSED_ARGUMENTS} )
-        endif()
-        #  Prepare flags for cint generated sources:
-        foreach ( f in  ${ARG_GENERATED} )
-          set_source_files_properties( ${f} PROPERTIES COMPILE_FLAGS "-Wno-unused-function -Wno-overlength-strings" GENERATED TRUE )
-        endforeach()
-        #
-        set ( sources ${ARG_GENERATED} ${ARG_SOURCES} ${optional_sources} )
-        #
-        if( NOT "${sources}" STREQUAL "")
-	  set (incs ${LOCAL_INCLUDE_DIRS} ${ARG_INCLUDE_DIRS} )
-	  set (libs ${pkg_library} ${LOCAL_LINK_LIBRARIES} ${ARG_LINK_LIBRARIES} )
-	  dd4hep_make_unique_list ( incs    VALUES ${incs} )
-	  dd4hep_make_unique_list ( libs    VALUES ${libs} )
-	  dd4hep_make_unique_list ( sources VALUES ${sources} )
-	  #
-	  dd4hep_debug ( "${tag} Libs:${libs}" )
-	  dd4hep_include_directories( "${incs}" )
-	  add_executable( ${binary} ${sources} )
-	  target_link_libraries( ${binary} ${libs} )
-	  #
-	  #  Install the binary to the destination directory
-	  install(TARGETS ${binary} 
-	    LIBRARY DESTINATION lib 
-	    RUNTIME DESTINATION bin )
-        else()
-	  dd4hep_print ( "|++> ${tag} SKIPPED. No sources to build [Use constraint]" )
-        endif()
-      else()
-        dd4hep_fatal ( "${tag} SKIPPED. Missing dependencies: ${LOCAL_MISSING}" )
-      endif()
-    endif()
-  endif()
-endfunction(dd4hep_add_executable)
-
 #---------------------------------------------------------------------------------------------------
 #
 #  \author  M.Frank
@@ -1030,7 +395,6 @@ endmacro( dd4hep_configure_scripts )
 #  dd4hep_add_test_reg
 #
 #  Add test with regular expression output parsing.
-#  BUILD_EXEC:  Add and build executable with the same name as the test (Default NONE)
 #  OUTPUT       Output file of the test (Default: empty)
 #  COMMAND      Command to execute
 #  EXEC_ARGS    Arguments to the command
@@ -1042,17 +406,13 @@ endmacro( dd4hep_configure_scripts )
 #
 #---------------------------------------------------------------------------------------------------
 function ( dd4hep_add_test_reg test_name )
-  cmake_parse_arguments(ARG "BUILD_EXEC" "OUTPUT" "COMMAND;DEPENDS;EXEC_ARGS;REGEX_PASS;REGEX_PASSED;REGEX_FAIL;REGEX_FAILED" ${ARGN} )
+  cmake_parse_arguments(ARG "" "OUTPUT" "COMMAND;DEPENDS;EXEC_ARGS;REGEX_PASS;REGEX_PASSED;REGEX_FAIL;REGEX_FAILED" ${ARGN} )
   set ( missing )
   set ( use_test 1 )
 
   if ( "${use_test}" STREQUAL "" )
     dd4hep_print ( "*** Will not build/execute test ${test_name}. Missing dependencies: ${missing} ")
   else()
-    if ( ${ARG_BUILD_EXEC} )
-      #dd4hep_print ( "Building executable:  ${test_name} SOURCES src/${test_name}.cc")
-      dd4hep_add_executable ( ${test_name} SOURCES src/${test_name}.cc )
-    endif()
 
     set ( cmd ${ARG_COMMAND} )
     if ( "${cmd}" STREQUAL "" )