diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2b11b5f42e8259cc8949c0405bb07a9482d6f81f..665d6980904ebee797ce3bafcb6da9d9b19d2f2a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -246,5 +246,4 @@ check_header_compilation()
 include(scripts/cmake/MarkVariablesAdvanced.cmake)
 unset(PRE_INSTALL_RUN CACHE)
 
-include(FeatureSummary)
-feature_summary(WHAT ALL)
+include(Features)
diff --git a/scripts/cmake/Features.cmake b/scripts/cmake/Features.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..f9a4b89bb3ee56252dbae2172ff8d84e00230cf8
--- /dev/null
+++ b/scripts/cmake/Features.cmake
@@ -0,0 +1,28 @@
+include(FeatureSummary)
+add_feature_info(OGS OGS_BUILD_CLI "The OGS simulator (OGS_BUILD_CLI)")
+add_feature_info(
+    Utilities OGS_BUILD_UTILS "Command line tools (OGS_BUILD_UTILS)"
+)
+add_feature_info(
+    DataExplorer OGS_BUILD_GUI
+    "Graphical data exploration and processing (OGS_BUILD_GUI)"
+)
+add_feature_info(
+    MFront OGS_USE_MFRONT "MFront material models (OGS_USE_MFRONT)"
+)
+add_feature_info(
+    Python-interface OGS_USE_PYTHON
+    "Python boundary conditions and source terms (OGS_USE_PYTHON)"
+)
+add_feature_info(PETSc OGS_USE_PETSC "Parallel processing (OGS_USE_PETSC)")
+add_feature_info(
+    Tests OGS_BUILD_TESTING "Unit and benchmarks tests (OGS_BUILD_TESTING)"
+)
+add_feature_info(
+    build-shared BUILD_SHARED_LIBS "Shared libraries (BUILD_SHARED_LIBS)"
+)
+add_feature_info(
+    build-unity OGS_USE_UNITY_BUILDS "Unity build (OGS_USE_UNITY_BUILDS)"
+)
+
+feature_summary(WHAT PACKAGES_FOUND ENABLED_FEATURES)