diff --git a/CMakeLists.txt b/CMakeLists.txt
index 592255ab75e190ce537581c08b7ca7851d1315c8..d5248bcb134635f437b3323b2eda114fb3df9813 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -221,7 +221,9 @@ if(MSVC)
     endforeach(VAR)
   endif(ENABLE_MSVC_STATIC_RUNTIME)
   if(ENABLE_BUILD_DYNAMIC OR ENABLE_BUILD_SHARED)
-    # automatically export .def file (requires CMake 3.4)
+    # automatically export .def file with all symbols (requires CMake 3.4);
+    # depending on the compiling options this might lead to more than 64k export
+    # symbols; just trim the .def file to keep the ones you need
     set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
   endif(ENABLE_BUILD_DYNAMIC OR ENABLE_BUILD_SHARED)
 endif(MSVC)
@@ -1511,6 +1513,7 @@ if(WIN32 AND NOT MSVC OR CYGWIN)
     set_target_properties(gmsh PROPERTIES
       LINK_FLAGS "${FLAGS} -Wl,--enable-auto-import")
     set(LIBGMSH_DEF "libGmsh-${GMSH_MAJOR_VERSION}.${GMSH_MINOR_VERSION}.def")
+    # automatically export .def file with all symbols
     set_target_properties(shared PROPERTIES PREFIX "lib"
       LINK_FLAGS "${FLAGS} -Wl,--export-all-symbols,--output-def,${LIBGMSH_DEF}")
   else(ENABLE_BUILD_DYNAMIC OR ENABLE_BUILD_SHARED)