diff --git a/lib/docs/scrapers/cmake.rb b/lib/docs/scrapers/cmake.rb
index cf14b562..bb2e4aae 100644
--- a/lib/docs/scrapers/cmake.rb
+++ b/lib/docs/scrapers/cmake.rb
@@ -16,10 +16,39 @@ module Docs
options[:skip_patterns] = [/\Agenerator/, /\Acpack_gen/, /\Ainclude/, /\Arelease/, /tutorial\/(\w*%20)+/]
options[:attribution] = <<-HTML
- © 2000–2023 Kitware, Inc. and Contributors
+ © 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
HTML
+ version do
+ self.base_url = "https://cmake.org/cmake/help/latest/"
+ end
+
+ version '3.31' do
+ self.release = '3.31'
+ self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
+ end
+
+ version '3.30' do
+ self.release = '3.30'
+ self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
+ end
+
+ version '3.29' do
+ self.release = '3.29'
+ self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
+ end
+
+ version '3.28' do
+ self.release = '3.28'
+ self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
+ end
+
+ version '3.27' do
+ self.release = '3.27'
+ self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
+ end
+
version '3.26' do
self.release = '3.26'
self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
diff --git a/public/icons/docs/cmake/16.png b/public/icons/docs/cmake/16.png
index fe82b4bc..b0591445 100644
Binary files a/public/icons/docs/cmake/16.png and b/public/icons/docs/cmake/16.png differ
diff --git a/public/icons/docs/cmake/16@2x.png b/public/icons/docs/cmake/16@2x.png
index 4dcfc24c..78df82f1 100644
Binary files a/public/icons/docs/cmake/16@2x.png and b/public/icons/docs/cmake/16@2x.png differ
diff --git a/public/icons/docs/cmake/SOURCE b/public/icons/docs/cmake/SOURCE
index dbfc5e62..1f16be4c 100644
--- a/public/icons/docs/cmake/SOURCE
+++ b/public/icons/docs/cmake/SOURCE
@@ -1 +1 @@
-https://cmake.org/gitweb?p=cmake.git;a=blob_plain;f=Source/QtDialog/CMakeSetup.ico;hb=refs/heads/master
+https://gitlab.kitware.com/cmake/cmake/-/blob/v3.31.0/Source/QtDialog/CMakeSetup32.png