From d11f0b4319e237f700b6d19eaec8af8f48888b6f Mon Sep 17 00:00:00 2001 From: Olivier Coulaud Date: Fri, 15 Jun 2018 11:23:15 +0200 Subject: [PATCH] update file --- Examples/CMakeLists.txt | 109 ++++++++++++++++++++++++++++------------ 1 file changed, 76 insertions(+), 33 deletions(-) diff --git a/Examples/CMakeLists.txt b/Examples/CMakeLists.txt index 3f5027dd..07f07d96 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) -- GitLab