diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6cce4d8078d1af5310c706f4715deb0a1d4abb56..c01cb9bb582220329a75550024755a0e90da21b5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -51,7 +51,6 @@ endif()
 # additional configuration and tools
 include(GNUInstallDirs) # GNU-like installation paths, e.g. lib/, include/, ...
 include(ActsCompilerOptions) # default compile options
-include(ActsFunctions) # Acts-specific helper functions
 include(ActsComponentsHelpers) # handle components via add_..._if commands
 
 # required packages
@@ -76,7 +75,7 @@ add_component_if(Legacy Legacy ACTS_BUILD_LEGACY)
 add_subdirectory(Plugins)
 # examples and tests
 if(ACTS_BUILD_TESTS OR ACTS_BUILD_INTEGRATION_TESTS)
-  include(CTest) # must be included from the main CMakeLists.txt
+  enable_testing() # must be set from the main CMakeLists.txt
 endif()
 add_subdirectory_if(Tests ACTS_BUILD_TESTS OR ACTS_BUILD_INTEGRATION_TESTS OR ACTS_BUILD_EXAMPLES)
 # documentation
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
deleted file mode 100644
index 9e83b1af6b3ef7e659d6b87d4e297147bd4d7837..0000000000000000000000000000000000000000
--- a/CTestConfig.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-## This file should be placed in the root directory of your project.
-## Then modify the CMakeLists.txt file in the root directory of your
-## project to incorporate the testing dashboard.
-##
-## # The following are required to submit to the CDash dashboard:
-##   ENABLE_TESTING()
-##   INCLUDE(CTest)
-
-set(CTEST_PROJECT_NAME "Acts")
-set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
-
-# CDash configuration
-set (CTEST_DROP_METHOD "http")
-set (CTEST_DROP_SITE "my.cdash.org")
-set (CTEST_DROP_LOCATION "/submit.php?project=Acts")
-set (CTEST_DROP_SITE_CDASH TRUE)
-
-# sub projects
-set (CTEST_PROJECT_SUBPROJECTS ACore Examples DD4hepPlugin MaterialPlugin TGeoPlugin)
-
-# do not count unit tests for test coverage
-set(CTEST_CUSTOM_COVERAGE_EXCLUDE "Tests")
-
-# site name
-execute_process (COMMAND hostname OUTPUT_VARIABLE HOSTNAME OUTPUT_STRIP_TRAILING_WHITESPACE)
-execute_process (COMMAND whoami OUTPUT_VARIABLE USER OUTPUT_STRIP_TRAILING_WHITESPACE)
-execute_process (COMMAND printf %s@%s ${USER} ${HOSTNAME} OUTPUT_VARIABLE CTEST_SITE)
-
diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt
index 1aa3c2042dba96462ae38fab3a56cef854ac7dbd..96db15ede7ad5a9c6696be75b3f5c2f579f87b48 100644
--- a/Core/CMakeLists.txt
+++ b/Core/CMakeLists.txt
@@ -29,5 +29,3 @@ install(
 install(
   FILES ${CMAKE_CURRENT_BINARY_DIR}/Acts/ActsVersion.hpp
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/Acts)
-
-acts_add_targets_to_cdash_project(PROJECT ACore TARGETS ActsCore)
diff --git a/Plugins/DD4hep/CMakeLists.txt b/Plugins/DD4hep/CMakeLists.txt
index fbfb53745973170088fa599cf3c1d7827c3d45ec..435e4fd545fa2a243b4cc09ef7489cdda6e5420e 100644
--- a/Plugins/DD4hep/CMakeLists.txt
+++ b/Plugins/DD4hep/CMakeLists.txt
@@ -17,5 +17,3 @@ install(
 install(
   DIRECTORY include/Acts
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
-acts_add_targets_to_cdash_project(PROJECT ActsDD4hepPlugin TARGETS ActsDD4hepPlugin)
diff --git a/Plugins/Digitization/CMakeLists.txt b/Plugins/Digitization/CMakeLists.txt
index 2e25a0c668229de339e6e85f31cafb3f36860865..c7572d9ab20456e346cfcabe3f2ba204740ca3e1 100644
--- a/Plugins/Digitization/CMakeLists.txt
+++ b/Plugins/Digitization/CMakeLists.txt
@@ -14,5 +14,3 @@ install(
 install(
   DIRECTORY include/Acts
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
-acts_add_targets_to_cdash_project(PROJECT ActsDigitizationPlugin TARGETS ActsDigitizationPlugin)
diff --git a/Plugins/TGeo/CMakeLists.txt b/Plugins/TGeo/CMakeLists.txt
index a624b230d1068d95380933c7c07254f25f1dba93..8da242517f0a3fd91552b5f8e0cb4e6855eb8a0f 100644
--- a/Plugins/TGeo/CMakeLists.txt
+++ b/Plugins/TGeo/CMakeLists.txt
@@ -15,5 +15,3 @@ install(
 install(
   DIRECTORY include/Acts
   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
-acts_add_targets_to_cdash_project(PROJECT ActsTGeoPlugin TARGETS ActsTGeoPlugin)
diff --git a/cmake/ActsFunctions.cmake b/cmake/ActsFunctions.cmake
deleted file mode 100644
index a8702c302f9d8577f4c1152e7a360cb4a4acf29f..0000000000000000000000000000000000000000
--- a/cmake/ActsFunctions.cmake
+++ /dev/null
@@ -1,56 +0,0 @@
-# helper function for parsing function arguments
-include (CMakeParseArguments)
-
-# This function adds targets to a CDash (sub)project.
-#
-# It takes the name of the CDash (sub)project and a list of targets. A
-# custom target for the CDash (sub)project is created with the name
-# '<PROJECT>Project' if it does not yet exist. All specified targets are
-# added as dependencies to this custom target such that one can build the
-# whole (sub)project using one target.
-# The specified targets and their associated source files have their LABELS
-# property set such that it includes the CDash (sub)project name.
-#
-# Usage: acts_add_targets_to_cdash_project(PROJECT project TARGETS target1 [target2 ...])
-function (acts_add_targets_to_cdash_project)
-  # get function arguments
-  cmake_parse_arguments (ARG "" "PROJECT" "TARGETS" ${ARGN})
-  # get (and possibly created) CDash helper target
-  set (SUBPROJECT_TARGET "${ARG_PROJECT}Project")
-  if (NOT TARGET ${SUBPROJECT_TARGET})
-    add_custom_target (${SUBPROJECT_TARGET})
-  endif ()
-  
-  # process all targets
-  foreach (_target ${ARG_TARGETS})
-    # include in CDash target and assign label
-    add_dependencies (${SUBPROJECT_TARGET} ${_target})
-    set_property (TARGET ${_target} APPEND PROPERTY LABELS "${ARG_PROJECT}")
-    # set label on all source files (needed for per-subproject test coverage)
-    get_property (_sources TARGET ${_target} PROPERTY SOURCES)
-    foreach (_source_file ${_sources})
-      set_property (SOURCE ${_source_file} APPEND PROPERTY LABELS "${ARG_PROJECT}")
-    endforeach ()
-  endforeach ()
-endfunction ()
-
-# This function adds tests to a CDash (sub)project.
-#
-# It takes the name of the CDash (sub)project and the name of test. Optionally,
-# a list of targets which need to be build before the test can run can be
-# provided.
-# The test has its LABELS property updated such that it includes the CDash
-# (sub)project name. If a list of targets is specfied, it is added as dependencies
-# to the custom '<PROJECT>Project' target (which is created if it does not yet
-# exist).
-#
-# Usage: acts_add_test_to_cdash_project(PROJECT project TEST test [TARGETS target1 [target2 ...]])
-function (acts_add_test_to_cdash_project)
-  cmake_parse_arguments (ARG "" "PROJECT;TEST" "TARGETS" ${ARGN})
-  set_property (TEST ${ARG_TEST} APPEND PROPERTY LABELS "${ARG_PROJECT}")
-  # add target to CDash project
-  foreach (_target ${ARG_TARGETS})
-    acts_add_targets_to_cdash_project (PROJECT ${ARG_PROJECT} TARGETS ${_target})
-  endforeach ()
-endfunction ()
-
diff --git a/cmake/Project.xml b/cmake/Project.xml
deleted file mode 100644
index d31b7ca603354392f827ac28057ea6d342374223..0000000000000000000000000000000000000000
--- a/cmake/Project.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<Project name="Acts">
-  <SubProject name="ACore" Group="Acts">
-  </SubProject>
-  <SubProject name="Examples" Group="Acts">
-    <Dependency name="ACore"/>
-  </SubProject>
-  <SubProject name="DD4hepPlugin" Group="Acts">
-   <Dependency name="ACore"/>
-   <Dependency name="TGeoPlugin"/>
-  </SubProject>
-  <SubProject name="MaterialPlugin" Group="Acts">
-   <Dependency name="ACore"/>
-  </SubProject>
-  <SubProject name="TGeoPlugin" Group="Acts">
-   <Dependency name="ACore"/>
-  </SubProject>
-</Project>
diff --git a/cmake/run_all.ctest b/cmake/run_all.ctest
deleted file mode 100644
index abb21693fc82017ad3b2037d5ba05cd090a27d7e..0000000000000000000000000000000000000000
--- a/cmake/run_all.ctest
+++ /dev/null
@@ -1,121 +0,0 @@
-function(build_name CXX_COMPILER BOOST_ROOT EIGEN_INCLUDE_DIR)
-  execute_process(COMMAND basename ${CXX_COMPILER} OUTPUT_VARIABLE COMPILER_TYPE OUTPUT_STRIP_TRAILING_WHITESPACE)
-  execute_process(COMMAND ${CXX_COMPILER} -dumpversion OUTPUT_VARIABLE COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-  
-  execute_process(COMMAND grep "#define BOOST_LIB_VERSION" ${BOOST_ROOT}/include/boost/version.hpp COMMAND awk "{print $3}" OUTPUT_VARIABLE BOOST_VERSION)
-  execute_process(COMMAND echo ${BOOST_VERSION} COMMAND sed -e s/\"//g -e s/_/./g OUTPUT_VARIABLE BOOST_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-  
-  execute_process(COMMAND grep "#define EIGEN_WORLD_VERSION" ${EIGEN_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h COMMAND awk "{print $3}" OUTPUT_VARIABLE EIGEN_WORLD_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-  execute_process(COMMAND grep "#define EIGEN_MAJOR_VERSION" ${EIGEN_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h COMMAND awk "{print $3}" OUTPUT_VARIABLE EIGEN_MAJOR_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-  execute_process(COMMAND grep "#define EIGEN_MINOR_VERSION" ${EIGEN_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h COMMAND awk "{print $3}" OUTPUT_VARIABLE EIGEN_MINOR_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-  set(EIGEN_VERSION "${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION}")
-
-  set(BUILD_NAME
-  "${CMAKE_SYSTEM_NAME}_${COMPILER_TYPE}-${COMPILER_VERSION}_boost-${BOOST_VERSION}_eigen-${EIGEN_VERSION}" PARENT_SCOPE)
-endfunction()
-
-# check required command line input
-if(NOT SOURCE_DIR)
-  message (FATAL_ERROR "SOURCE_DIR must be set")
-endif()
-
-if(NOT BUILD_DIR)
-  message (FATAL_ERROR "BUILD_DIR must be set")
-endif()
-
-if(NOT EIGEN_INCLUDE_DIR)
-  message (FATAL_ERROR "EIGEN_INCLUDE_DIR must be set")
-endif()
-
-if(NOT BOOST_ROOT)
-  message (FATAL_ERROR "BOOST_ROOT must be set")
-endif()
-
-if(NOT CMAKE_CXX_COMPILER)
-  set(CMAKE_CXX_COMPILER "g++")
-endif()
-
-if(NOT CMAKE_ADDITIONAL_OPTIONS)
-  set(CMAKE_ADDITIONAL_OPTIONS "")
-endif()
-
-if(NOT BUILD_NAME_PREFIX)
-  set(BUILD_NAME_PREFIX "")
-endif()
-
-
-set(CTEST_SOURCE_DIRECTORY ${SOURCE_DIR})
-set(CTEST_BINARY_DIRECTORY ${BUILD_DIR})
-
-set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
-set(CTEST_BUILD_CONFIGURATION ${CMAKE_BUILD_TYPE})
-
-build_name(${CMAKE_CXX_COMPILER} ${BOOST_ROOT} ${EIGEN_INCLUDE_DIR})
-set(CTEST_BUILD_NAME ${BUILD_NAME_PREFIX}${BUILD_NAME})
-
-set(WITH_MEMCHECK FALSE)
-set(WITH_COVERAGE TRUE)
-
-find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
-find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
-
-set(CTEST_CONFIGURE_COMMAND "${CMAKE_COMMAND} -DBOOST_ROOT:PATH=${BOOST_ROOT}")
-set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} -DEIGEN_INCLUDE_DIR:PATH=${EIGEN_INCLUDE_DIR}")
-set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CMAKE_ADDITIONAL_OPTIONS}")
-set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_SOURCE_DIRECTORY}")
-
-# flag indicating build/test errors
-set(CTEST_FAILURE FALSE)
-
-ctest_start("Experimental")
-ctest_configure(RETURN_VALUE res)
-
-if(NOT res EQUAL 0)
-  message(WARNING "configuration failed")
-  set(CTEST_FAILURE TRUE)
-endif()
-
-ctest_submit(PARTS Configure Notes FILES ${CTEST_SOURCE_DIRECTORY}/cmake/Project.xml)
-
-foreach(subproject ${CTEST_PROJECT_SUBPROJECTS})
-  message("building: ${subproject}")
-  set_property(GLOBAL PROPERTY SubProject ${subproject})
-  set_property (GLOBAL PROPERTY Label ${subproject})
-  
-  ctest_build(TARGET ${subproject}Project RETURN_VALUE res)
-  if(NOT res EQUAL 0)
-    message(WARNING "build failed for '${subproject}'")
-    set(CTEST_FAILURE TRUE)
-  endif()
-
-  ctest_submit(PARTS Build)
-  ctest_test(INCLUDE_LABEL ${subproject} RETURN_VALUE res)
-  if(NOT res EQUAL 0)
-    message(WARNING "tests failed for '${subproject}'")
-    set(CTEST_FAILURE TRUE)
-  endif()
-  ctest_submit(PARTS Test)
-  if (WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
-    ctest_coverage(LABELS ${subproject} RETURN_VALUE res)
-    if(NOT res EQUAL 0)
-      message(WARNING "test coverage failed for '${subproject}'")
-      set(CTEST_FAILURE TRUE)
-    endif()
-    ctest_submit(PARTS Coverage)
-  endif (WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
-
-  if (WITH_MEMCHECK AND CTEST_MEMORYCHECK_COMMAND)
-    ctest_memcheck(INCLUDE_LABEL ${subproject} RETURN_VALUE res)
-    if(NOT res EQUAL 0)
-      message(WARNING "memory check failed for '${subproject}'")
-      set(CTEST_FAILURE TRUE)
-    endif()
-    ctest_submit(PARTS MemCheck)
-  endif (WITH_MEMCHECK AND CTEST_MEMORYCHECK_COMMAND)
-endforeach()
-
-if(CTEST_FAILURE)
-  message(STATUS "ctest result: FAILURE")
-else()
-  message(STATUS "ctest result: SUCCESS")
-endif()