diff --git a/CMakeLists.txt b/CMakeLists.txt
index c5e569fb5eead762094bb526d9d7039cacbb49da..581b0905fcf76e0255e5343573fc8bd08356f532 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,7 +39,9 @@ project(CBMROOT
 
 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/
 # is checked
-set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
+
+
 
 # Load some basic cmake functionality
 include(ExternalProject)
@@ -57,7 +59,7 @@ include(ROOTMacros)
 include(FairMacros)
 include(WriteConfigFile)
 include(CheckCompiler)
-include(ROOTMacros)
+
 
 # Do some basic checks
 # out-of-source build, unix system and
@@ -67,14 +69,13 @@ Check_Prerequisites()
 #Fairsoft Modules Path
 list(PREPEND CMAKE_PREFIX_PATH ${SIMPATH})
 
+unset(packages)
+
 #Searches for ROOT Package
 find_package(ROOT 6.22 CONFIG REQUIRED)
 if(ROOT_FOUND)
-  Message("Root was found")
+  list(APPEND packages ROOT)
   # The following CMake variables are needed until the modernization is done
-  set(ROOT_CINT_EXECUTABLE ${ROOT_BINDIR}/rootcling)
-  set(ROOT_CONFIG_EXECUTABLE ${ROOT_BINDIR}/root-config)
-  set(ROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIRS})
 endif()
 
 find_package(FairCMakeModules REQUIRED)
@@ -85,8 +86,7 @@ find_package2(PUBLIC FairLogger)
 # at the end after all find_package[2] calls, call once
 find_package2_implicit_dependencies()
 if(FairLogger_FOUND)
-  Message("FairLogger was found")
-  set(FAIRLOGGER_FOUND TRUE)
+  list(APPEND packages FairLogger)
   set(FAIRLOGGER_INCLUDE_DIR ${FairLogger_INCDIR}/fairlogger)
 
   # CbmRoot expects that the Logger include statement does not need any
@@ -98,78 +98,75 @@ if(FairLogger_FOUND)
     INTERFACE_INCLUDE_DIRECTORIES "${_incDirs}/fairlogger"
     )
 endif()
-
+  
 #Searches for VMC Package
 if(ROOT_vmc_FOUND)
   set(VMCLIB ROOT::VMC)
-  Message("Root_VMC was found")
+  list(APPEND packages ROOT_vmc)
 else()
   find_package2(PUBLIC VMC REQUIRED)
   set(VMCLIB VMCLibrary)
 endif()
 if(VMC_FOUND)
-  Message("VMC was found")
+  list(APPEND packages VMC)
 endif()
 
 #Searches for FairROOT Package
 include(FairRootTargets)
 find_package(FairRoot REQUIRED)
 if(FAIRROOT_FOUND)
-  Message("FairRoot was found")
+  list(APPEND packages FairRoot)
+  set(FairRoot_FOUND TRUE)
 endif()
 
 
 #Searching for Boost Package
 find_package(Boost COMPONENTS serialization regex filesystem log log_setup container program_options thread)
 if(Boost_FOUND)
-  Message("Boost was found")
+  list(APPEND packages Boost)
 endif()
 
 
 #Searching for Geant4 Package
 find_package(Geant4 CONFIG REQUIRED)
 if(Geant4_FOUND)
-  Message("Geant4 was found")
+  list(APPEND packages Geant4)
 endif()
 
 #Searching for Vc Package
 find_package(Vc 1.4.1 CONFIG REQUIRED)
 if(Vc_FOUND)
-  Message("Vc was found")
+  list(APPEND packages Vc)
 endif()
 
 #Searching for VGM Package
 find_package(VGM CONFIG REQUIRED)
 if(VGM_FOUND)
-  Message("VGM was found")
 endif()
 
 #Searching for Geant4VMC Package
 find_package(Geant4VMC CONFIG REQUIRED)
 if(Geant4VMC_FOUND)
-  Message("Geant4VMC was found")
+  list(APPEND packages Geant4VMC)
 endif()
 
 #Searching for Geant3 Package
 find_package(Geant3 CONFIG REQUIRED)
 if(Geant3_FOUND)
-  Message("Geant3 was found")
+  list(APPEND packages Geant3)
 endif()
 
 #Searching for SSE
 find_package(SSE REQUIRED)
 if(SSE_FOUND)
-  Message("SSE was found")
+  list(APPEND packages SSE)
 endif()
 
 
 #Searching for FairMQ
 find_package(FairMQ CONFIG REQUIRED)
 if(FairMQ_FOUND)
-  Message("FairMQ was found")
-
-  set(FAIRMQ_INCLUDE_DIR ${FairMQ_INCDIR}/fairmq)
-
+  list(APPEND packages FairMQ)
   get_target_property(_inDirMQ FairMQ::FairMQ INTERFACE_INCLUDE_DIRECTORIES)
   set_property(TARGET FairMQ::FairMQ APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${_inDirMQ}/fairmq/options")
 endif()
@@ -204,24 +201,9 @@ If(DEFINED ENV{OMP_NUM_THREADS} )
   set(OMP_NUM_THREADS $ENV{OMP_NUM_THREADS})
 endif()
 
-# set a variable which should be used in all CMakeLists.txt
-# Defines all basic include directories from fairbase
-SetBasicVariables()
-
-# Add the Geant3 include directory such that ROOT can find TGeant3.h
-# Has to be done after calling SetBasicVariables, otherwise the value
-# is overwritten
-SET(ROOT_INCLUDE_PATH ${ROOT_INCLUDE_PATH} "${Geant3_INCLUDE_DIRS}")
-
-Set(BASE_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES}
-  ${SYSTEM_INCLUDE_DIRECTORIES}
-  ${FAIRLOGGER_INCLUDE_DIR}
-  ${VMC_INCLUDE_DIRS}
-)
-
-SET(CBMLIBDIR ${CMAKE_BINARY_DIR}/lib)
-SET(LD_LIBRARY_PATH  ${CBMLIBDIR} ${Boost_LIBRARY_DIRS} ${LD_LIBRARY_PATH})
+set(CBMLIBDIR ${CMAKE_BINARY_DIR}/lib)
+set(LD_LIBRARY_PATH  ${CBMLIBDIR} ${Boost_LIBRARY_DIRS} ${LD_LIBRARY_PATH} ${FAIRROOT_LIBRARY_DIR})
+set(ROOT_INCLUDE_PATH ${FAIRROOT_INCLUDE_DIR})
 
 # Recurse into the given subdirectories.  This does not actually
 # cause another cmake executable to run.  The same process will walk through
@@ -241,17 +223,6 @@ endif()
 # following targets
 add_subdirectory (external)
 
-set (BASE_INCLUDE_DIRECTORIES
-${BASE_INCLUDE_DIRECTORIES}
-${XPU_INCLUDE_DIRECTORY} # Required for XPU_D macro in base data types
-)
-
-
-set(BASE_INCLUDE_DIRECTORIES
-  ${BASE_INCLUDE_DIRECTORIES}
-  ${GSL_INCLUDE_DIRECTORY}
-)
-
 
 ### Base directories
 add_subdirectory (core)
@@ -300,3 +271,5 @@ generate_config_files()
 Install(DIRECTORY geometry input parameters
         DESTINATION share/cbmroot
         PATTERN ".git" EXCLUDE)
+        
+print_info()
diff --git a/cmake/modules/CbmMacros.cmake b/cmake/modules/CbmMacros.cmake
index 575c3d8f1de0a4bddd59a594bbcbd093666fa7d9..1dfe28231992758227e6192936da94c0f8584966 100644
--- a/cmake/modules/CbmMacros.cmake
+++ b/cmake/modules/CbmMacros.cmake
@@ -271,3 +271,64 @@ macro(generate_cbm_executable)
   set(INTERFACE_DEPENDENCIES)
 
 endmacro(generate_cbm_executable)
+
+macro(print_info)
+
+  set(CR       "${Esc}[m")
+  set(CB       "${Esc}[1m")
+  set(Red      "${Esc}[31m")
+  set(Green    "${Esc}[32m")
+  set(Yellow   "${Esc}[33m")
+  set(Blue     "${Esc}[34m")
+  set(Magenta  "${Esc}[35m")
+  set(Cyan     "${Esc}[36m")
+  set(White    "${Esc}[37m")
+  set(BRed     "${Esc}[1;31m")
+  set(BGreen   "${Esc}[1;32m")
+  set(BYellow  "${Esc}[1;33m")
+  set(BBlue    "${Esc}[1;34m")
+  set(BMagenta "${Esc}[1;35m")
+  set(BCyan    "${Esc}[1;36m")
+  set(BWhite   "${Esc}[1;37m")
+  
+
+message(STATUS "  ")
+message(STATUS "  ${Cyan}CXX STANDARD${CR}       ${BGreen}C++${CMAKE_CXX_STANDARD}${CR} (change with ${BMagenta}-DCMAKE_CXX_STANDARD=17${CR})")
+
+
+if(packages)
+  list(SORT packages)
+  message(STATUS "  ")
+  message(STATUS "  ${Cyan}PACKAGE              VERSION         OPTION${CR}")
+  foreach(dep IN LISTS packages)
+   
+    if(${${dep}_FOUND}} MATCHES "TRUE" OR ${${dep}_FOUND}} MATCHES "1" OR ${${dep}_FOUND}} MATCHES  "true")
+        set(dep_found "${BGreen}-FOUND")
+       else()
+        set(dep_found "${Red}-NOT FOUND")
+    endif()
+     
+    pad("${BYellow}${${dep}_VERSION}${CR}" 15 " " dep_version COLOR 1)      
+    pad(${dep} 20 " " dep_name)
+    pad("${dep_found}${CR}" 15 " " version_found COLOR 1)
+
+    message(STATUS "  ${BWhite}${dep_name}${CR}${dep_version}${version_found}")
+    
+    unset(dep)
+    unset(dep_found)
+    unset(dep_version)
+    unset(version_found)
+    unset(dep_name)
+  endforeach()
+endif()
+
+message(STATUS "  ")
+message(STATUS "  ${Cyan}INSTALL PREFIX${CR}     ${BGreen}${CMAKE_INSTALL_PREFIX}${CR} (change with ${BMagenta}-DCMAKE_INSTALL_PREFIX=...${CR})")
+message(STATUS "  ")
+message(STATUS "  ${Cyan} SIMPATH = ${BGreen}${SIMPATH}${CR}")
+message(STATUS "  ${Cyan} FAIRROOTPATH = ${BGreen}${FAIRROOTPATH}${CR}")
+message(STATUS "  ")
+message(STATUS "  ${Cyan} CbmRoot Version::${BGreen}${CBMROOT_VERSION}${CR}")
+message(STATUS "  ")
+
+endmacro(print_info)