diff --git a/Applications/Utils/Tests.cmake b/Applications/Utils/Tests.cmake
index ef19eaa01af392b3a9e724c87a8e108ba924e97a..9834ef9e50fdc221cea527547d0855b3b418c4b5 100644
--- a/Applications/Utils/Tests.cmake
+++ b/Applications/Utils/Tests.cmake
@@ -321,6 +321,9 @@ if(PARSL AND NOT OGS_USE_MPI)
         set_tests_properties(parsl_ExtractBoundary PROPERTIES DEPENDS snakemake_ExtractBoundary)
     endif()
 endif()
+if(SNAKEMAKE OR PARSL)
+    add_dependencies(ctest ExtractBoundary)
+endif()
 
 AddTest(
     NAME partmesh_with_field_data
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 781ba82d01ab235a9120b2a6d92df40c9bef5aee..839c744031dcc7614d92076f427ed47111a900c8 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -3,6 +3,15 @@ if(OGS_USE_XDMF)
     add_subdirectory(xdmfdiff)
 endif()
 
+### ctest dependencies
+foreach(tool vtkdiff xdmfdiff)
+    if(TARGET ${tool})
+        list(APPEND test_dependencies ${tool})
+    endif()
+endforeach()
+add_dependencies(ctest ${test_dependencies})
+add_dependencies(ctest-large ${test_dependencies})
+
 ### testrunner ###
 include(${PROJECT_SOURCE_DIR}/scripts/cmake/OGSEnabledElements.cmake)
 
diff --git a/scripts/cmake/ProcessesSetup.cmake b/scripts/cmake/ProcessesSetup.cmake
index 13891791ed888951b4e21568dd6387d97965ed94..2396068b695dac52b57de2c6242c4b9eae3024d1 100644
--- a/scripts/cmake/ProcessesSetup.cmake
+++ b/scripts/cmake/ProcessesSetup.cmake
@@ -33,6 +33,9 @@ set(OGS_BUILD_PROCESSES
     CACHE STRING "Semicolon-separated list of processes to build")
 if(NOT OGS_BUILD_CLI)
     set(OGS_BUILD_PROCESSES OFF "" CACHE INTERNAL "")
+    message(STATUS "ATTENTION: OGS_BUILD_CLI=OFF -> OGS_BUILD_PROCESSES is set to OFF too.\n"
+        "   If cli is switched on again, remember to switch processes back to on \n"
+        "   too with -DOGS_BUILD_PROCESSES=\"\"!")
 endif()
 if(NOT "${OGS_BUILD_PROCESSES}" STREQUAL "")
     if(${OGS_BUILD_PROCESSES})
diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake
index ddca63d31ba75ca547180151583b7031f110e9e7..98dc13fffbfd57a5e805db9c9ce8c4f373b15459 100644
--- a/scripts/cmake/test/AddTest.cmake
+++ b/scripts/cmake/test/AddTest.cmake
@@ -60,7 +60,7 @@ function (AddTest)
 
     # set defaults
     if(NOT DEFINED AddTest_EXECUTABLE)
-        set(AddTest_EXECUTABLE ogs)
+        message(FATAL_ERROR "Test ${AddTest_NAME}: No EXECUTABLE set!")
     endif()
     if (NOT DEFINED AddTest_REQUIREMENTS)
         set(AddTest_REQUIREMENTS TRUE)
@@ -82,6 +82,11 @@ function (AddTest)
     endif()
 
     # --- Implement wrappers ---
+    # check if exe is part of build
+    if(NOT TARGET ${AddTest_EXECUTABLE})
+        set(DISABLED_TESTS_LOG "${DISABLED_TESTS_LOG}\nTest exe ${AddTest_EXECUTABLE} not built! Disabling test ${AddTest_NAME}." CACHE INTERNAL "")
+        return()
+    endif()
     # check requirements, disable if not met
     if(${AddTest_REQUIREMENTS})
         message(DEBUG "Enabling test ${AddTest_NAME}.")
@@ -285,10 +290,8 @@ Use six arguments version of AddTest with absolute and relative tolerances")
         LABELS "${DIR_LABELS}"
     )
 
-    if(NOT "${AddTest_EXECUTABLE}" STREQUAL "ogs" AND TARGET ${AddTest_EXECUTABLE})
-        add_dependencies(ctest ${AddTest_EXECUTABLE})
-        add_dependencies(ctest-large ${AddTest_EXECUTABLE})
-    endif()
+    add_dependencies(ctest ${AddTest_EXECUTABLE})
+    add_dependencies(ctest-large ${AddTest_EXECUTABLE})
 
     if(AddTest_PYTHON_PACKAGES)
         if(POETRY)
diff --git a/scripts/cmake/test/Test.cmake b/scripts/cmake/test/Test.cmake
index caba1e810e5c400399eb942f05c6da4283454563..41e6d3a317d04f7912faf7f88be69166970a286a 100644
--- a/scripts/cmake/test/Test.cmake
+++ b/scripts/cmake/test/Test.cmake
@@ -36,11 +36,8 @@ if(CMAKE_CONFIGURATION_TYPES)
 endif()
 add_custom_target(ctest-cleanup ${CMAKE_COMMAND} -E remove -f Tests/ctest.log)
 
-set(test_dependencies ogs vtkdiff)
 if(OGS_BUILD_UTILS)
     list(APPEND test_dependencies
-        partmesh
-        MapGeometryToMeshSurface
         generateStructuredMesh
     )
 endif()
@@ -92,7 +89,4 @@ set_directory_properties(PROPERTIES
 set_target_properties(ctest ctest-large ctest-cleanup ctest-large-cleanup
     PROPERTIES FOLDER Testing)
 
-add_dependencies(ctest ogs)
-add_dependencies(ctest-large ogs)
-
 configure_file(${PROJECT_SOURCE_DIR}/scripts/test/buildinfo.in.yaml ${PROJECT_BINARY_DIR}/buildinfo.yaml)