diff --git a/Modules/Platform/OpenVMS.cmake b/Modules/Platform/OpenVMS.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..3b7ba41d43044f0782f698d09fcda567eb710d74
--- /dev/null
+++ b/Modules/Platform/OpenVMS.cmake
@@ -0,0 +1,7 @@
+INCLUDE(Platform/UnixPaths)
+
+SET(CMAKE_C_CREATE_STATIC_LIBRARY
+  "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>"
+  "<CMAKE_RANLIB> <TARGET>"
+  )
+SET(CMAKE_CXX_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 2a9739887d678c4dee5eff38ab050b56ec4de8d2..2b2f31a6969db452852207fb79fd5a1e619b0eac 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -31,7 +31,7 @@ cmGlobalUnixMakefileGenerator3::cmGlobalUnixMakefileGenerator3()
   this->ToolSupportsColor = true;
   this->ForceVerboseMakefiles = false;
 
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__VMS)
   this->UseLinkScript = false;
 #else
   this->UseLinkScript = true;