diff --git a/CMakeLists.txt b/CMakeLists.txt
index d4ebadc9..29d47ef5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.31)
 
 project(qtmir)
 
diff --git a/cmake/modules/UseLttngGenTp.cmake b/cmake/modules/UseLttngGenTp.cmake
index 44296141..5ae1f81d 100644
--- a/cmake/modules/UseLttngGenTp.cmake
+++ b/cmake/modules/UseLttngGenTp.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.31)
 if(POLICY CMP0011)
  cmake_policy(SET CMP0011 NEW)
 endif(POLICY CMP0011)
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 7338d869..6e501b0b 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -1,3 +1,5 @@
+cmake_minimum_required(VERSION 3.31)
+
 install(FILES xwayland.qtmir.desktop
 	DESTINATION ${CMAKE_INSTALL_DATADIR}/applications
 )
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f071674c..ed60c31e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,2 +1,4 @@
+cmake_minimum_required(VERSION 3.31)
+
 add_subdirectory(platforms)
 add_subdirectory(modules)
diff --git a/src/platforms/CMakeLists.txt b/src/platforms/CMakeLists.txt
index d3f36d59..124854f5 100644
--- a/src/platforms/CMakeLists.txt
+++ b/src/platforms/CMakeLists.txt
@@ -1 +1,3 @@
+cmake_minimum_required(VERSION 3.31)
+
 add_subdirectory(mirserver)
diff --git a/src/platforms/mirserver/CMakeLists.txt b/src/platforms/mirserver/CMakeLists.txt
index 523fb996..62c1072c 100644
--- a/src/platforms/mirserver/CMakeLists.txt
+++ b/src/platforms/mirserver/CMakeLists.txt
@@ -1,3 +1,5 @@
+cmake_minimum_required(VERSION 3.31)
+
 # Qt5PlatformSupport is not available as a cmake module.
 # And also not anymore as pkgconfig module since Qt 5.6.
 #pkg_check_modules(QT5PLATFORM_SUPPORT Qt5PlatformSupport REQUIRED)
diff --git a/src/platforms/mirserver/miroil/CMakeLists.txt b/src/platforms/mirserver/miroil/CMakeLists.txt
index febd4f0a..aa8dac75 100644
--- a/src/platforms/mirserver/miroil/CMakeLists.txt
+++ b/src/platforms/mirserver/miroil/CMakeLists.txt
@@ -1 +1,3 @@
+cmake_minimum_required(VERSION 3.31)
+
 add_subdirectory(src)
diff --git a/src/platforms/mirserver/miroil/src/CMakeLists.txt b/src/platforms/mirserver/miroil/src/CMakeLists.txt
index fb6b5e22..1e8beac4 100644
--- a/src/platforms/mirserver/miroil/src/CMakeLists.txt
+++ b/src/platforms/mirserver/miroil/src/CMakeLists.txt
@@ -1,3 +1,5 @@
+cmake_minimum_required(VERSION 3.31)
+
 set(MIROIL_SRC
     compositor.cpp ${MIROIL_INCLUDE_DIRS}/miroil/compositor.h
     edid.cpp ${qtmir_include}/miroil/edid.h
diff --git a/src/platforms/mirserver/wayland-generated/CMakeLists.txt b/src/platforms/mirserver/wayland-generated/CMakeLists.txt
index 5561437f..1abfd752 100644
--- a/src/platforms/mirserver/wayland-generated/CMakeLists.txt
+++ b/src/platforms/mirserver/wayland-generated/CMakeLists.txt
@@ -1,3 +1,5 @@
+cmake_minimum_required(VERSION 3.31)
+
 function(add_wayland_protocol PREFIX PROTOCOL)
     set(PROTOCOL_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../wayland-protocols/${PROTOCOL}.xml")
 
