diff --git a/CMakeLists.txt b/CMakeLists.txt
index 82f41f327558e3b7d0540f4c5be9cc217987db47..387c197761bb0b58ce04b54b1a3ca4466273e6b8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -525,14 +525,12 @@ if(HAVE_MESH)
 endif(HAVE_MESH)
 
 if(ENABLE_FOURIER_MODEL)
-  find_library(FFTW3_LIB fftw3)
-  if(FFTW3_LIB)
-    find_library(FOURIER_MODEL_LIB FourierModel)
-    if(FOURIER_MODEL_LIB)
-      set_config_option(HAVE_FOURIER_MODEL "FourierModel")
-      list(APPEND EXTERNAL_LIBRARIES ${FOURIER_MODEL_LIB} ${FFTW3_LIB})
-    endif(FOURIER_MODEL_LIB)
-  endif(FFTW3_LIB)
+  set(FM_REQUIRED FourierModel fftw3 gsl gslcblas)
+  find_all_libraries(FM_LIBS FM_REQUIRED "" lib)
+  if(FM_LIBS)
+    set_config_option(HAVE_FOURIER_MODEL "FourierModel")
+    list(APPEND EXTERNAL_LIBRARIES ${FM_LIBS})
+  endif(FM_LIBS)
 endif(ENABLE_FOURIER_MODEL)
 
 if(ENABLE_MED OR ENABLE_CGNS)