diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ad51c09ff9454132f5a4a3c945aeb81c7deaaee..599f51c198a3ada009c0c075ed08730b0c0bb34b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,6 +56,7 @@ after the configuration or use ccmake or cmake-gui.
   * GAUDI_GENCONF_NO_FAIL
 * Compile options
   * GAUDI_ENABLE_GAUDIALG
+  * GAUDI_ENABLE_GAUDIPARTPROP
   * GAUDI_REFLEX_COMPONENT_ALIASES
 * Doxygen
   * DOXYGEN_WITH_LOCAL_MATHJAX
@@ -110,7 +111,10 @@ string(APPEND GAUDI_OPTIONAL_DEPENDENCIES "set(GAUDI_USE_PYTHON_MAJOR ${GAUDI_US
 list(PREPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules") # (Find*.cmake)
 include(cmake/GaudiDependencies.cmake)
 
-string(APPEND GAUDI_OPTIONAL_DEPENDENCIES "set(GAUDI_ENABLE_GAUDIALG ${GAUDI_ENABLE_GAUDIALG})\n")
+string(APPEND GAUDI_OPTIONAL_DEPENDENCIES "
+set(GAUDI_ENABLE_GAUDIALG ${GAUDI_ENABLE_GAUDIALG})
+set(GAUDI_ENABLE_GAUDIPARTPROP ${GAUDI_ENABLE_GAUDIPARTPROP})
+")
 
 # The C++ standard used must be the same as ROOT's
 if(NOT GAUDI_CXX_STANDARD)
diff --git a/GaudiExamples/CMakeLists.txt b/GaudiExamples/CMakeLists.txt
index ffe6d9797a0eade0e67e04478bf1bcbb518d2e24..cd8c22d862127d56625fe7d929150e2691b52a45 100644
--- a/GaudiExamples/CMakeLists.txt
+++ b/GaudiExamples/CMakeLists.txt
@@ -76,7 +76,6 @@ gaudi_add_module(GaudiExamples
                          src/NTuples/NTupleAlgorithm.cpp
                          src/PluginService/BackwardCompatibleAliases.cpp
                          src/PluginService/SpecialCustomFactory.cpp
-                         src/PartProp/PartPropAlg.cpp
                          src/Properties/CustomPropertiesAlg.cpp
                          src/Properties/PropertyAlg.cpp
                          src/Properties/PropertyProxy.cpp
@@ -101,7 +100,6 @@ gaudi_add_module(GaudiExamples
                       Gaudi::Functional
                       GaudiUtilsLib
                       GaudiExamplesLib
-                      GaudiPartProp
                       ROOT::Tree
                       ROOT::RIO
                       ROOT::Hist
@@ -129,8 +127,7 @@ if(GAUDI_USE_AIDA)
     target_link_libraries(GaudiExamples PRIVATE AIDA::aida)
 endif()
 if(GAUDI_USE_HEPPDT)
-    target_sources(GaudiExamples PRIVATE src/PartProp/GaudiPPS.cpp
-                                         src/PartProp/PartPropExa.cpp)
+    target_sources(GaudiExamples PRIVATE src/PartProp/PartPropExa.cpp)
     target_link_libraries(GaudiExamples PRIVATE HepPDT::heppdt)
 endif()
 if(TARGET RootCnvLib)
@@ -139,6 +136,13 @@ if(TARGET RootCnvLib)
                                          src/MultiInput/MIWriteAlg.cpp)
     target_link_libraries(GaudiExamples PRIVATE RootCnvLib)
 endif()
+if(GAUDI_ENABLE_GAUDIPARTPROP)
+    target_sources(GaudiExamples PRIVATE
+        src/PartProp/GaudiPPS.cpp
+        src/PartProp/PartPropAlg.cpp
+    )
+    target_link_libraries(GaudiExamples PRIVATE Gaudi::GaudiPartProp)
+endif()
 
 # Build the executable
 gaudi_add_executable(Allocator
@@ -190,6 +194,12 @@ if(BUILD_TESTING)
       PROPERTIES DISABLED TRUE
     )
   endif()
+  if(NOT GAUDI_ENABLE_GAUDIPARTPROP)
+    set_tests_properties(
+      GaudiExamples.particlepropsvc
+      PROPERTIES DISABLED TRUE
+    )
+  endif()
 endif()
 
 gaudi_add_pytest(tests/pytest)
diff --git a/GaudiPartProp/CMakeLists.txt b/GaudiPartProp/CMakeLists.txt
index 899e2a73a43a6b26df751b89650c703224419c67..3aad2a4c156109d6d8bdadb5176c804ae28291d5 100644
--- a/GaudiPartProp/CMakeLists.txt
+++ b/GaudiPartProp/CMakeLists.txt
@@ -10,6 +10,10 @@
 #####################################################################################
 # GaudiPartProp subdirectory
 
+if(NOT GAUDI_ENABLE_GAUDIPARTPROP)
+   return()
+endif()
+
 gaudi_add_library(GaudiPartProp
     SOURCES
         src/CC.cpp
diff --git a/ci-utils/preset-default.cmake b/ci-utils/preset-default.cmake
index c42425255becfe92c2901a17f552a5389f4133bc..145c7e81004f50413d1296b7696a449a767e9f72 100644
--- a/ci-utils/preset-default.cmake
+++ b/ci-utils/preset-default.cmake
@@ -10,4 +10,5 @@
 # set(GAUDI_USE_INTELAMPLIFIER   OFF CACHE BOOL "")
 # set(GAUDI_USE_JEMALLOC         ON  CACHE BOOL "")
 # set(GAUDI_ENABLE_GAUDIALG      OFF CACHE BOOL "")
+# set(GAUDI_ENABLE_GAUDIPARTPROP ON  CACHE BOOL "")
 # set(BUILD_TESTING              ON  CACHE BOOL "")
diff --git a/ci-utils/preset-full.cmake b/ci-utils/preset-full.cmake
index 98ccb053a525d1ee0f5bd2aa097724a28a3a966d..6c7c58d008c1ed4d337968ade75115c2c118f401 100644
--- a/ci-utils/preset-full.cmake
+++ b/ci-utils/preset-full.cmake
@@ -10,4 +10,5 @@ set(GAUDI_USE_DOXYGEN          ON  CACHE BOOL "")
 set(GAUDI_USE_INTELAMPLIFIER   ON  CACHE BOOL "")
 set(GAUDI_USE_JEMALLOC         ON  CACHE BOOL "")
 set(GAUDI_ENABLE_GAUDIALG      ON  CACHE BOOL "")
+set(GAUDI_ENABLE_GAUDIPARTPROP ON  CACHE BOOL "")
 set(BUILD_TESTING              ON  CACHE BOOL "")
diff --git a/ci-utils/preset-minimal.cmake b/ci-utils/preset-minimal.cmake
index 8a58d67413ad029854b4a15e9ab23f484f93759d..dd8e50d0746a62a26bd3a0e6535c7f6aa2305d1d 100644
--- a/ci-utils/preset-minimal.cmake
+++ b/ci-utils/preset-minimal.cmake
@@ -10,4 +10,5 @@ set(GAUDI_USE_DOXYGEN          OFF CACHE BOOL "")
 set(GAUDI_USE_INTELAMPLIFIER   OFF CACHE BOOL "")
 set(GAUDI_USE_JEMALLOC         OFF CACHE BOOL "")
 set(GAUDI_ENABLE_GAUDIALG      OFF CACHE BOOL "")
+set(GAUDI_ENABLE_GAUDIPARTPROP OFF CACHE BOOL "")
 set(BUILD_TESTING              OFF CACHE BOOL "")
diff --git a/ci-utils/preset-no-AIDA.cmake b/ci-utils/preset-no-AIDA.cmake
index 756ecda66f05d85e4221485d1efecc1dcd971055..bffb63416008d48cf0e0b8d123dd4d4cee220e55 100644
--- a/ci-utils/preset-no-AIDA.cmake
+++ b/ci-utils/preset-no-AIDA.cmake
@@ -10,4 +10,5 @@ set(GAUDI_USE_DOXYGEN          ON  CACHE BOOL "")
 set(GAUDI_USE_INTELAMPLIFIER   ON  CACHE BOOL "")
 set(GAUDI_USE_JEMALLOC         ON  CACHE BOOL "")
 set(GAUDI_ENABLE_GAUDIALG      OFF CACHE BOOL "")
+set(GAUDI_ENABLE_GAUDIPARTPROP ON  CACHE BOOL "")
 set(BUILD_TESTING              ON  CACHE BOOL "")
diff --git a/ci-utils/preset-no-GaudiAlg.cmake b/ci-utils/preset-no-GaudiAlg.cmake
index 0bb43683554b3490ee655140b5630e769b2e4ebe..e3c5668a649a5bc3cdaad79f8a8bee99c0c53db0 100644
--- a/ci-utils/preset-no-GaudiAlg.cmake
+++ b/ci-utils/preset-no-GaudiAlg.cmake
@@ -10,4 +10,5 @@ set(GAUDI_USE_DOXYGEN          ON  CACHE BOOL "")
 set(GAUDI_USE_INTELAMPLIFIER   ON  CACHE BOOL "")
 set(GAUDI_USE_JEMALLOC         ON  CACHE BOOL "")
 set(GAUDI_ENABLE_GAUDIALG      OFF CACHE BOOL "")
+set(GAUDI_ENABLE_GAUDIPARTPROP ON  CACHE BOOL "")
 set(BUILD_TESTING              ON  CACHE BOOL "")
diff --git a/ci-utils/preset-no-test.cmake b/ci-utils/preset-no-test.cmake
index 81f183cf90c8c3befd8067b1786b4eb46a51549d..f31bf21593708716f2545a8bbc1adea4d5594606 100644
--- a/ci-utils/preset-no-test.cmake
+++ b/ci-utils/preset-no-test.cmake
@@ -10,4 +10,5 @@
 # set(GAUDI_USE_INTELAMPLIFIER   OFF CACHE BOOL "")
 # set(GAUDI_USE_JEMALLOC         ON  CACHE BOOL "")
 # set(GAUDI_ENABLE_GAUDIALG      OFF CACHE BOOL "")
+# set(GAUDI_ENABLE_GAUDIPARTPROP ON  CACHE BOOL "")
 set(BUILD_TESTING              OFF CACHE BOOL "")
diff --git a/cmake/GaudiDependencies.cmake b/cmake/GaudiDependencies.cmake
index cc39608902803d08447021f1b4094f90ebc68244..82a529f7b08dd83771ec3bbfd9a3e9dc1558d809 100644
--- a/cmake/GaudiDependencies.cmake
+++ b/cmake/GaudiDependencies.cmake
@@ -139,6 +139,7 @@ endif()
 set(gperftools_pkgconfig_module "libprofiler>=2.7.0")
 
 option(GAUDI_ENABLE_GAUDIALG "Build the subdirectory GaudiAlg" NO)
+option(GAUDI_ENABLE_GAUDIPARTPROP "Build the subdirectory GaudiPartProp" YES)
 
 foreach(dep IN LISTS deps)
   string(TOUPPER ${dep} DEP)