diff --git a/Examples/CMakeLists.txt b/Examples/CMakeLists.txt
index 3f5027dd52e8c31ec415a5a0aae15d84431a5bca..07f07d968fb1c27fc6cb604ca7f1a86f4e0087ba 100644
--- a/Examples/CMakeLists.txt
+++ b/Examples/CMakeLists.txt
@@ -13,40 +13,83 @@ INCLUDE_DIRECTORIES(
      ${SCALFMM_BINARY_DIR}/Src 
      ${SCALFMM_SOURCE_DIR}/Src 
      ${SCALFMM_SOURCE_DIR}/Contribs
+     ${SCALFMM_SOURCE_DIR}
      ${SCALFMM_INCLUDES}
      
 )
-set(GENERIC_SOURCE_FILES  changeFmaFormat compare2Files generateDistributions statisticsOnOctree
-    DirectComputation CutOffAlgorithm RotationFMM compareAllPoissonKernels)
-if(SCALFMM_USE_BLAS)
-    set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES} ChebyshevInterpolationFMM ChebyshevInterpolationAdaptiveFMM  )
-endif(SCALFMM_USE_BLAS)
-
-if(SCALFMM_USE_FFT)
-    set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES} UniformInterpolationFMM LagrangeInterpolationAdaptiveFMM  )
-else()
-  message(STATUS " &&&&&&&&&&&&&&&&&&&& SCALFMM_USE_FFT ${SCALFMM_USE_FFT}")
-endif(SCALFMM_USE_FFT)
-
-if(SCALFMM_USE_MPI)
-    set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES} RotationMPIFMM  )
-    if(SCALFMM_USE_BLAS)
-        set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES} MPIChebyshevInterpolationFMM ChebyshevInterpolationMPIFMMSplit ChebyshevInterpolationMPIFMM  )
-    endif(SCALFMM_USE_BLAS)
-
-    if(SCALFMM_USE_FFT)
-        set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES}   MPIUniformInterpolationFMM)
-    endif(SCALFMM_USE_FFT)
-
-endif()
-#
-#MESSAGE(WARNIG "GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES}")
-#
-#
-#
-foreach(exec ${GENERIC_SOURCE_FILES})
-    add_executable(${exec} ${exec}.cpp)
-    SET_TARGET_PROPERTIES(${exec} PROPERTIES ENABLE_EXPORTS TRUE)
-    target_link_libraries(${exec} ${scalfmm_lib} ${SCALFMM_LIBRARIES} )
-    install( TARGETS ${exec}  DESTINATION bin )
+# Find all code files
+file(
+    GLOB_RECURSE
+    source_tests_files
+    ./*.cpp
+    )
+# Add execs - 1 cpp = 1 exec
+foreach(exec ${source_tests_files})
+        get_filename_component(
+                execname ${exec}
+                NAME_WE
+        )
+
+        set(compile_exec "TRUE")
+
+        foreach(fuse_key ${FUSE_LIST})
+            file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}")
+            if(lines_fuse)
+                    if( NOT SCALFMM_USE_${fuse_key} )
+                            MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" )
+                            set(compile_exec "FALSE")
+                    endif()
+            endif()
+        endforeach()
+
+        # Dependency are OK
+        if( compile_exec )
+                add_executable(
+                                ${execname}
+                                ${exec}
+                                )
+                SET_TARGET_PROPERTIES(${execname} PROPERTIES ENABLE_EXPORTS TRUE)
+                target_link_libraries(
+                        ${execname}
+                        ${scalfmm_lib}
+                        ${SCALFMM_LIBRARIES}
+                        )
+                 install( TARGETS ${execname}  DESTINATION bin )
+        endif()
 endforeach(exec)
+
+#set(GENERIC_SOURCE_FILES  changeFmaFormat compare2Files generateDistributions statisticsOnOctree
+#    DirectComputation CutOffAlgorithm RotationFMM compareAllPoissonKernels)
+#if(SCALFMM_USE_BLAS)
+#    set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES} ChebyshevInterpolationFMM ChebyshevInterpolationAdaptiveFMM  )
+#endif(SCALFMM_USE_BLAS)
+
+#if(SCALFMM_USE_FFT)
+#    set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES} UniformInterpolationFMM LagrangeInterpolationAdaptiveFMM  )
+#else()
+#  message(STATUS " &&&&&&&&&&&&&&&&&&&& SCALFMM_USE_FFT ${SCALFMM_USE_FFT}")
+#endif(SCALFMM_USE_FFT)
+
+#if(SCALFMM_USE_MPI)
+#    set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES} RotationMPIFMM  )
+#    if(SCALFMM_USE_BLAS)
+#        set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES} MPIChebyshevInterpolationFMM ChebyshevInterpolationMPIFMMSplit ChebyshevInterpolationMPIFMM  )
+
+#    endif(SCALFMM_USE_BLAS)
+
+#    if(SCALFMM_USE_FFT)
+#        set(GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES}   MPIUniformInterpolationFMM)
+#    endif(SCALFMM_USE_FFT)
+
+#endif()
+##
+##MESSAGE(WARNIG "GENERIC_SOURCE_FILES ${GENERIC_SOURCE_FILES}")
+##
+##
+##
+#foreach(exec ${GENERIC_SOURCE_FILES})
+#    add_executable(${exec} ${exec}.cpp)
+#    SET_TARGET_PROPERTIES(${exec} PROPERTIES ENABLE_EXPORTS TRUE)
+#    target_link_libraries(${exec} ${scalfmm_lib} ${SCALFMM_LIBRARIES} )
+#    install( TARGETS ${exec}  DESTINATION bin )
+#endforeach(exec)