Skip to content

Commit 54a9ba4

Browse files
authored
fixed #13343 - Bump cmake_minimum_required() to 3.13 (#7213)
and do associated cleanups. Fixes #13343 Recent CMake versions emit: ``` CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. Update the VERSION argument <min> value. Or, use the <min>...<max> syntax to tell CMake that the project requires at least <min> but has been updated to work with policies introduced by <max> or earlier. ```
1 parent a8a09a7 commit 54a9ba4

File tree

5 files changed

+26
-46
lines changed

5 files changed

+26
-46
lines changed

CMakeLists.txt

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
2-
if(MSVC)
3-
cmake_minimum_required(VERSION 3.13)
4-
endif()
1+
cmake_minimum_required(VERSION 3.13)
52
project(Cppcheck VERSION 2.16.99 LANGUAGES CXX)
63

74
include(cmake/options.cmake)

cmake/findDependencies.cmake

+1-10
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,7 @@ endif()
5353

5454
set(CMAKE_INCLUDE_CURRENT_DIR ON)
5555

56-
if(CMAKE_VERSION VERSION_EQUAL "3.12" OR CMAKE_VERSION VERSION_GREATER "3.12")
57-
find_package(Python COMPONENTS Interpreter)
58-
else()
59-
find_package(PythonInterp 3 QUIET)
60-
if(PYTHONINTERP_FOUND)
61-
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
62-
set(Python_VERSION ${PYTHON_VERSION_STRING})
63-
set(Python_Interpreter_FOUND ${PYTHONINTERP_FOUND})
64-
endif()
65-
endif()
56+
find_package(Python COMPONENTS Interpreter)
6657

6758
if(NOT Python_Interpreter_FOUND)
6859
if(NOT USE_MATCHCOMPILER_OPT STREQUAL "Off")

cmake/options.cmake

-4
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,6 @@ else()
9191
set(CMAKE_DISABLE_PRECOMPILE_HEADERS On CACHE BOOL "Disable precompiled headers")
9292
endif()
9393

94-
if(BUILD_TESTS AND REGISTER_TESTS AND CMAKE_VERSION VERSION_LESS "3.9")
95-
message(FATAL_ERROR "Registering tests with CTest requires at least CMake 3.9. Use REGISTER_TESTS=OFF to disable this.")
96-
endif()
97-
9894
set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Output directory for headers")
9995
set(CMAKE_LIB_DIRS_CONFIGCMAKE ${CMAKE_INSTALL_PREFIX}/lib CACHE PATH "Output directory for libraries")
10096

readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ The minimum required Python version is 3.6.
5252
5353
### CMake
5454
55-
The minimum required version is CMake 3.5.
55+
The minimum required version is CMake 3.13.
5656
5757
Example, compiling Cppcheck with cmake:
5858

test/signal/CMakeLists.txt

+23-27
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
1-
if (CMAKE_VERSION VERSION_EQUAL "3.13" OR CMAKE_VERSION VERSION_GREATER "3.13")
2-
# target_link_options requires CMake 3.13
1+
add_executable(test-signalhandler
2+
test-signalhandler.cpp
3+
${PROJECT_SOURCE_DIR}/cli/signalhandler.cpp
4+
${PROJECT_SOURCE_DIR}/cli/stacktrace.cpp)
5+
target_include_directories(test-signalhandler PRIVATE ${PROJECT_SOURCE_DIR}/cli ${PROJECT_SOURCE_DIR}/lib)
6+
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
7+
# names for static functions are omitted from trace
8+
target_compile_options_safe(test-signalhandler -Wno-missing-declarations)
9+
target_compile_options_safe(test-signalhandler -Wno-missing-prototypes)
10+
# required for backtrace() to produce function names
11+
target_link_options(test-signalhandler PRIVATE -rdynamic)
12+
endif()
313

4-
add_executable(test-signalhandler
5-
test-signalhandler.cpp
6-
${PROJECT_SOURCE_DIR}/cli/signalhandler.cpp
7-
${PROJECT_SOURCE_DIR}/cli/stacktrace.cpp)
8-
target_include_directories(test-signalhandler PRIVATE ${PROJECT_SOURCE_DIR}/cli ${PROJECT_SOURCE_DIR}/lib)
9-
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
10-
# names for static functions are omitted from trace
11-
target_compile_options_safe(test-signalhandler -Wno-missing-declarations)
12-
target_compile_options_safe(test-signalhandler -Wno-missing-prototypes)
13-
# required for backtrace() to produce function names
14-
target_link_options(test-signalhandler PRIVATE -rdynamic)
15-
endif()
16-
17-
add_executable(test-stacktrace
18-
test-stacktrace.cpp
19-
${PROJECT_SOURCE_DIR}/cli/stacktrace.cpp)
20-
target_include_directories(test-stacktrace PRIVATE ${PROJECT_SOURCE_DIR}/cli ${PROJECT_SOURCE_DIR}/lib)
21-
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
22-
# names for static functions are omitted from trace
23-
target_compile_options_safe(test-stacktrace -Wno-missing-declarations)
24-
target_compile_options_safe(test-stacktrace -Wno-missing-prototypes)
25-
# required for backtrace() to produce function names
26-
target_link_options(test-stacktrace PRIVATE -rdynamic)
27-
endif()
28-
endif()
14+
add_executable(test-stacktrace
15+
test-stacktrace.cpp
16+
${PROJECT_SOURCE_DIR}/cli/stacktrace.cpp)
17+
target_include_directories(test-stacktrace PRIVATE ${PROJECT_SOURCE_DIR}/cli ${PROJECT_SOURCE_DIR}/lib)
18+
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
19+
# names for static functions are omitted from trace
20+
target_compile_options_safe(test-stacktrace -Wno-missing-declarations)
21+
target_compile_options_safe(test-stacktrace -Wno-missing-prototypes)
22+
# required for backtrace() to produce function names
23+
target_link_options(test-stacktrace PRIVATE -rdynamic)
24+
endif()

0 commit comments

Comments
 (0)