diff --git a/CMakeLists.txt b/CMakeLists.txt
index 237af6049e9e0e01723acffedf87cf46ce8a0ded..e8ec387f08228f44ea57508d7449dcb3a43cde7c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1158,22 +1158,21 @@ target_link_libraries(gmsh ${LINK_LIBRARIES})
 
 # Windows specific linker options
 if(WIN32 AND NOT MSVC OR CYGWIN)
-  set_target_properties(gmsh shared PROPERTIES 
-                        LINK_FLAGS "-Wl,--stack,16777216 -mwindows")
+  set(FLAGS "-Wl,--stack,16777216 -mwindows")
   if(HAVE_64BIT_SIZE_T)
-    set_target_properties(gmsh PROPERTIES 
-                          LINK_FLAGS "${CMAKE_CURRENT_SOURCE_DIR}/Fltk/Win64Icon.res")
+    set(FLAGS "${FLAGS} ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/Win64Icon.res")
   else(HAVE_64BIT_SIZE_T)
-    set_target_properties(gmsh PROPERTIES 
-                          LINK_FLAGS "${CMAKE_CURRENT_SOURCE_DIR}/Fltk/Win32Icon.res")
+    set(FLAGS "${FLAGS} ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/Win32Icon.res")
   endif(HAVE_64BIT_SIZE_T)
   if(ENABLE_BUILD_DYNAMIC)
+    set_target_properties(gmsh PROPERTIES 
+                          LINK_FLAGS "${FLAGS} -Wl,--enable-auto-import")
     set_target_properties(shared PROPERTIES 
                           PREFIX "lib"
-                          LINK_FLAGS "-Wl,--export-all-symbols")
-    set_target_properties(gmsh PROPERTIES LINK_FLAGS "-Wl,--enable-auto-import")
+                          LINK_FLAGS "${FLAGS} -Wl,--export-all-symbols")
   else(ENABLE_BUILD_DYNAMIC)
-    set_target_properties(gmsh PROPERTIES LINK_FLAGS "-static")
+    set_target_properties(gmsh PROPERTIES 
+                          LINK_FLAGS "${FLAGS} -static")
     # remove -Wl,-Bdynamic flags
     set(CMAKE_EXE_LINK_DYNAMIC_C_FLAGS)
     set(CMAKE_EXE_LINK_DYNAMIC_CXX_FLAGS)