diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3a9b6aca295679e1844b4b775acdb7b1b743dd72..4772539cc67aa6de88e34a30705f2ace8272efc1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,6 +50,7 @@ stages: -DWARNING_ERROR=ON -DWALBERLA_BUILD_WITH_METIS=$WALBERLA_BUILD_WITH_METIS -DWALBERLA_BUILD_WITH_PARMETIS=$WALBERLA_BUILD_WITH_PARMETIS + -DWALBERLA_BUILD_WITH_FFTW=$WALBERLA_BUILD_WITH_FFTW -DWALBERLA_ENABLE_GUI=$WALBERLA_ENABLE_GUI -DWALBERLA_BUILD_WITH_CODEGEN=$WALBERLA_BUILD_WITH_CODEGEN -DWALBERLA_STL_BOUNDS_CHECKS=$WALBERLA_STL_BOUNDS_CHECKS @@ -72,6 +73,7 @@ stages: WALBERLA_DOUBLE_ACCURACY: "ON" WALBERLA_BUILD_WITH_METIS: "ON" WALBERLA_BUILD_WITH_PARMETIS: "ON" + WALBERLA_BUILD_WITH_FFTW: "ON" WALBERLA_ENABLE_GUI: "OFF" artifacts: when: always diff --git a/CMakeLists.txt b/CMakeLists.txt index 0516669b5a1d54d2d4cc7970107ad29b4671194b..319411433188b852e344d3819caa1f7a5d2094bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,6 +69,7 @@ option ( WALBERLA_BUILD_DOC "Build Documentation" option ( WALBERLA_BUILD_WITH_MPI "Build with MPI" ON ) option ( WALBERLA_BUILD_WITH_METIS "Build with metis graph partitioner" OFF ) option ( WALBERLA_BUILD_WITH_PARMETIS "Build with ParMetis graph partitioner" OFF ) +option ( WALBERLA_BUILD_WITH_FFTW "Build with FFTW Fourier Transform library" OFF ) option ( WALBERLA_BUILD_WITH_GPROF "Enables gprof" ) option ( WALBERLA_BUILD_WITH_GCOV "Enables gcov" ) @@ -920,22 +921,24 @@ endif() ## ############################################################################################################################ -if( WALBERLA_BUILD_WITH_MPI ) - find_package( PFFT ) - find_package( FFTW3 ) - set( FFT_REQUIRED_LIBRARIES pfft fftw3_mpi fftw3 ) - if( PFFT_FOUND AND FFTW3_MPI_FOUND ) - set( WALBERLA_BUILD_WITH_FFT TRUE CACHE INTERNAL "Build with FFT" ) - include_directories( SYSTEM ${PFFT_INCLUDE_DIR} ${FFTW3_MPI_INCLUDE_DIR} ) - list( APPEND SERVICE_LIBS ${PFFT_LIBRARIES} ${FFTW3_LIBRARIES} ${FFTW3_MPI_LIBRARIES} ) - endif() -else() - find_package( FFTW3 ) - set( FFT_REQUIRED_LIBRARIES fftw3 ) - if ( FFTW3_FOUND ) - set( WALBERLA_BUILD_WITH_FFT TRUE CACHE INTERNAL "Build with FFT" ) - include_directories( SYSTEM ${FFTW3_INCLUDE_DIR} ) - list( APPEND SERVICE_LIBS ${FFTW3_LIBRARIES} ) +if ( WALBERLA_BUILD_WITH_FFTW ) + if( WALBERLA_BUILD_WITH_MPI ) + find_package( PFFT ) + find_package( FFTW3 ) + set( FFT_REQUIRED_LIBRARIES pfft fftw3_mpi fftw3 ) + if( PFFT_FOUND AND FFTW3_MPI_FOUND ) + set( WALBERLA_BUILD_WITH_FFT TRUE CACHE INTERNAL "Build with FFT" ) + include_directories( SYSTEM ${PFFT_INCLUDE_DIR} ${FFTW3_MPI_INCLUDE_DIR} ) + list( APPEND SERVICE_LIBS ${PFFT_LIBRARIES} ${FFTW3_LIBRARIES} ${FFTW3_MPI_LIBRARIES} ) + endif() + else() + find_package( FFTW3 ) + set( FFT_REQUIRED_LIBRARIES fftw3 ) + if ( FFTW3_FOUND ) + set( WALBERLA_BUILD_WITH_FFT TRUE CACHE INTERNAL "Build with FFT" ) + include_directories( SYSTEM ${FFTW3_INCLUDE_DIR} ) + list( APPEND SERVICE_LIBS ${FFTW3_LIBRARIES} ) + endif() endif() endif()