diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1779b5ed4018e8c4829dc262c566c2a7b85973dd..2811157548c3e93532c8d78237af09659ca1938b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -737,6 +737,12 @@ if(UNIX)
   set_source_files_properties(${NON_OPTIMIZED_SRC} COMPILE_FLAGS "-O0")
 endif(UNIX)
 
+if(UNIX)
+  #DLOpen
+  set(HAVE_DLOPEN true)
+  list(APPEND EXTERNAL_LIBRARIES ${CMAKE_DL_LIB})
+endif(UNIX)
+
 if(MSVC)
   add_definitions(-D_USE_MATH_DEFINES -DNOMINMAX 
                   -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE)
diff --git a/Common/GmshConfig.h.in b/Common/GmshConfig.h.in
index c3d81c281349b02f56212b40c4cd75abf425a113..aa1f2f034c473abcae4bd5c5c6b07bc25a5fdee5 100644
--- a/Common/GmshConfig.h.in
+++ b/Common/GmshConfig.h.in
@@ -10,6 +10,7 @@
 #cmakedefine HAVE_ANN
 #cmakedefine HAVE_BLAS
 #cmakedefine HAVE_CHACO
+#cmakedefine HAVE_DLOPEN
 #cmakedefine HAVE_DINTEGRATION
 #cmakedefine HAVE_FLTK
 #cmakedefine HAVE_FL_TREE