1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
https://github.com/opencv/opencv/pull/27192
From cb8030809e0278d02fa335cc1f5ec7c3c17548e0 Mon Sep 17 00:00:00 2001
From: Dan Dennedy <dan@dennedy.org>
Date: Wed, 2 Apr 2025 13:45:08 -0700
Subject: [PATCH] Fix configuring with CMake version 4
fixes #27122
---
CMakeLists.txt | 2 +-
cmake/OpenCVGenPkgconfig.cmake | 2 +-
.../introduction/linux_gcc_cmake/linux_gcc_cmake.markdown | 2 +-
modules/python/CMakeLists.txt | 2 +-
platforms/android/build-tests/test_cmake_build.py | 2 +-
samples/CMakeLists.example.in | 2 +-
samples/CMakeLists.txt | 2 +-
samples/cpp/example_cmake/CMakeLists.txt | 2 +-
samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt | 2 +-
samples/hal/c_hal/CMakeLists.txt | 2 +-
samples/hal/slow_hal/CMakeLists.txt | 2 +-
samples/openvx/CMakeLists.txt | 2 +-
12 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7985623ffb53..ca402b65c9b1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,7 +16,7 @@ endif()
include(cmake/OpenCVMinDepVersions.cmake)
if(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
- cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+ cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
#Required to resolve linker error issues due to incompatibility with CMake v3.0+ policies.
#CMake fails to find _fseeko() which leads to subsequent linker error.
#See details here: http://www.cmake.org/Wiki/CMake/Policies
diff --git a/cmake/OpenCVGenPkgconfig.cmake b/cmake/OpenCVGenPkgconfig.cmake
index 4fc80f5e4b27..3532260efb53 100644
--- a/cmake/OpenCVGenPkgconfig.cmake
+++ b/cmake/OpenCVGenPkgconfig.cmake
@@ -110,7 +110,7 @@ endif()
# =============================================================================
else() # DEFINED CMAKE_HELPER_SCRIPT
-cmake_minimum_required(VERSION 2.8.12.2)
+cmake_minimum_required(VERSION 3.5)
cmake_policy(SET CMP0012 NEW)
include("${CMAKE_HELPER_SCRIPT}")
include("${OpenCV_SOURCE_DIR}/cmake/OpenCVUtils.cmake")
diff --git a/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown b/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown
index 7cfbb31777d3..75bdc2ef42d0 100644
--- a/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown
+++ b/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown
@@ -63,7 +63,7 @@ int main(int argc, char** argv )
Now you have to create your CMakeLists.txt file. It should look like this:
@code{.cmake}
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.5)
project( DisplayImage )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
diff --git a/modules/python/CMakeLists.txt b/modules/python/CMakeLists.txt
index 93eab8c94d21..ec30f4215012 100644
--- a/modules/python/CMakeLists.txt
+++ b/modules/python/CMakeLists.txt
@@ -35,7 +35,7 @@ add_subdirectory(python3)
else() # standalone build
-cmake_minimum_required(VERSION 2.8.12.2)
+cmake_minimum_required(VERSION 3.5)
project(OpenCVPython CXX C)
include("./standalone.cmake")
diff --git a/platforms/android/build-tests/test_cmake_build.py b/platforms/android/build-tests/test_cmake_build.py
index 25d185b8e5c6..51affd1f3b4b 100644
--- a/platforms/android/build-tests/test_cmake_build.py
+++ b/platforms/android/build-tests/test_cmake_build.py
@@ -7,7 +7,7 @@
log.basicConfig(format='%(message)s', level=log.DEBUG)
CMAKE_TEMPLATE='''\
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
# Enable C++11
set(CMAKE_CXX_STANDARD 11)
diff --git a/samples/CMakeLists.example.in b/samples/CMakeLists.example.in
index 7cf20d5e44b3..59a133bc9d74 100644
--- a/samples/CMakeLists.example.in
+++ b/samples/CMakeLists.example.in
@@ -1,5 +1,5 @@
# cmake needs this line
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.5)
if(NOT DEFINED EXAMPLE_NAME)
message(FATAL_ERROR "Invalid build script: missing EXAMPLE_NAME")
diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
index 6a18b61afa33..dabe07747f81 100644
--- a/samples/CMakeLists.txt
+++ b/samples/CMakeLists.txt
@@ -62,7 +62,7 @@ else()
# Standalone mode
#
#===================================================================================================
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.5)
project(samples C CXX)
option(BUILD_EXAMPLES "Build samples" ON)
diff --git a/samples/cpp/example_cmake/CMakeLists.txt b/samples/cpp/example_cmake/CMakeLists.txt
index 8d5cd98af291..f17aca4b5432 100644
--- a/samples/cpp/example_cmake/CMakeLists.txt
+++ b/samples/cpp/example_cmake/CMakeLists.txt
@@ -1,5 +1,5 @@
# cmake needs this line
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.5)
# Define project name
project(opencv_example_project)
diff --git a/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt b/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt
index 037d508569b3..1a35085aa2a6 100644
--- a/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt
+++ b/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
FIND_PACKAGE(CUDA REQUIRED)
INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})
diff --git a/samples/hal/c_hal/CMakeLists.txt b/samples/hal/c_hal/CMakeLists.txt
index 8cf78aa5ff63..72dfef01c3ad 100644
--- a/samples/hal/c_hal/CMakeLists.txt
+++ b/samples/hal/c_hal/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.12.2 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
set(PROJECT_NAME "c_hal")
set(HAL_LIB_NAME "c_hal")
diff --git a/samples/hal/slow_hal/CMakeLists.txt b/samples/hal/slow_hal/CMakeLists.txt
index 1ffa4670b6ab..a20596ea2a13 100644
--- a/samples/hal/slow_hal/CMakeLists.txt
+++ b/samples/hal/slow_hal/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.12.2 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
set(PROJECT_NAME "slow_hal")
set(HAL_LIB_NAME "slow_hal")
diff --git a/samples/openvx/CMakeLists.txt b/samples/openvx/CMakeLists.txt
index fd04e6b9e261..c5efdf9ad02a 100644
--- a/samples/openvx/CMakeLists.txt
+++ b/samples/openvx/CMakeLists.txt
@@ -1,6 +1,6 @@
ocv_install_example_src(cpp *.cpp *.hpp CMakeLists.txt)
-cmake_minimum_required(VERSION 2.8.12.2)
+cmake_minimum_required(VERSION 3.5)
set(OPENCV_OPENVX_SAMPLE_REQUIRED_DEPS
opencv_core
|