blob: 4e946bfad9e08c1160784491d5aa99ac4ee81d1a (
plain)
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
|
From 19f096f9c10264f4efe4b926fe83126e85642cba Mon Sep 17 00:00:00 2001
From: Sven Eckelmann <sven@narfation.org>
Date: Mon, 1 Sep 2025 10:21:38 +0200
Subject: [PATCH] Fix build with CMake 4
CMake 4 dropped support for policies which were introduced before version
3.5. Trying to build uisng cmake 4 results in:
Compatibility with CMake < 3.5 has been removed from 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.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Just increasing minimum version to 3.18 (from 2020-07-15) fixes this
problem. This version is low enough to still support Debian bullseye or
Ubuntu 22.04.
With this version increase, following policies are enabled
* 3.18
- CMP0108: A target cannot link to itself through an alias.
- CMP0107: An ALIAS target cannot overwrite another target.
- CMP0106: The Documentation module is removed.
- CMP0105: Device link step uses the link options.
- CMP0104: CMAKE_CUDA_ARCHITECTURES now detected for NVCC, empty CUDA_ARCHITECTURES not allowed.
- CMP0103: Multiple export() with same FILE without APPEND is not allowed.
* 3.17
- CMP0102: mark_as_advanced() does nothing if a cache entry does not exist.
- CMP0101: target_compile_options honors BEFORE keyword in all scopes.
- CMP0100: Let AUTOMOC and AUTOUIC process .hh header files.
- CMP0099: Link properties are transitive over private dependencies of static libraries.
- CMP0098: FindFLEX runs flex in CMAKE_CURRENT_BINARY_DIR when executing.
* 3.16
- CMP0097: ExternalProject_Add with GIT_SUBMODULES "" initializes no submodules.
- CMP0096: project() preserves leading zeros in version components.
- CMP0095: RPATH entries are properly escaped in the intermediary CMake install script.
* 3.15
- CMP0094: FindPython3, FindPython2 and FindPython use LOCATION for lookup strategy.
- CMP0093: FindBoost reports Boost_VERSION in x.y.z format.
- CMP0092: MSVC warning flags are not in CMAKE_{C,CXX}_FLAGS by default.
- CMP0091: MSVC runtime library flags are selected by an abstraction.
- CMP0090: export(PACKAGE) does not populate package registry by default.
- CMP0089: Compiler id for IBM Clang-based XL compilers is now XLClang.
* 3.14
- CMP0088: FindBISON runs bison in CMAKE_CURRENT_BINARY_DIR when executing.
- CMP0087: install(SCRIPT | CODE) supports generator expressions.
- CMP0086: UseSWIG honors SWIG_MODULE_NAME via -module flag.
- CMP0085: IN_LIST generator expression handles empty list items.
- CMP0084: The FindQt module does not exist for find_package().
- CMP0083: Add PIE options when linking executable.
- CMP0082: Install rules from add_subdirectory() are interleaved with those in caller.
* 3.13
- CMP0081: Relative paths not allowed in LINK_DIRECTORIES target property.
- CMP0080: BundleUtilities cannot be included at configure time.
- CMP0079: target_link_libraries allows use with targets in other directories.
- CMP0078: UseSWIG generates standard target names.
- CMP0077: option() honors normal variables.
- CMP0076: target_sources() command converts relative paths to absolute.
* 3.12
- CMP0075: Include file check macros honor CMAKE_REQUIRED_LIBRARIES.
- CMP0074: find_package uses PackageName_ROOT variables.
- CMP0073: Do not produce legacy _LIB_DEPENDS cache entries.
* 3.11
- CMP0072: FindOpenGL prefers GLVND by default when available.
* 3.10
- CMP0071: Let AUTOMOC and AUTOUIC process GENERATED files.
- CMP0070: Define file(GENERATE) behavior for relative paths.
* 3.9
- CMP0069: INTERPROCEDURAL_OPTIMIZATION is enforced when enabled.
- CMP0068: RPATH settings on macOS do not affect install_name.
* 3.8
- CMP0067: Honor language standard in try_compile() source-file signature.
* 3.7
- CMP0066: Honor per-config flags in try_compile() source-file signature.
* 3.4
- CMP0065: Do not add flags to export symbols from executables without the ENABLE_EXPORTS target property.
- CMP0064: Support new TEST if() operator.
* 3.3
- CMP0063: Honor visibility properties for all target types.
- CMP0062: Disallow install() of export() result.
- CMP0061: CTest does not by default tell make to ignore errors (-i).
- CMP0060: Link libraries by full path even in implicit directories.
- CMP0059: Do not treat DEFINITIONS as a built-in directory property.
- CMP0058: Ninja requires custom command byproducts to be explicit.
- CMP0057: Support new IN_LIST if() operator.
* 3.2
- CMP0056: Honor link flags in try_compile() source-file signature.
- CMP0055: Strict checking for break() command.
* 3.1
- CMP0054: Only interpret if() arguments as variables or keywords when unquoted.
- CMP0053: Simplify variable reference and escape sequence evaluation.
- CMP0052: Reject source and build dirs in installed INTERFACE_INCLUDE_DIRECTORIES.
- CMP0051: List TARGET_OBJECTS in SOURCES target property.
* 3.0
- CMP0050: Disallow add_custom_command SOURCE signatures.
- CMP0049: Do not expand variables in target source entries.
- CMP0048: project() command manages VERSION variables.
- CMP0047: Use QCC compiler id for the qcc drivers on QNX.
- CMP0046: Error on non-existent dependency in add_dependencies.
- CMP0045: Error on non-existent target in get_target_property.
- CMP0044: Case sensitive Lang_COMPILER_ID generator expressions.
- CMP0043: Ignore COMPILE_DEFINITIONS_Config properties.
- CMP0042: MACOSX_RPATH is enabled by default.
- CMP0041: Error on relative include with generator expression.
- CMP0040: The target in the TARGET signature of add_custom_command() must exist.
- CMP0039: Utility targets may not have link dependencies.
- CMP0038: Targets may not link directly to themselves.
- CMP0037: Target names should not be reserved and should match a validity pattern.
- CMP0036: The build_name command should not be called.
- CMP0035: The variable_requires command should not be called.
- CMP0034: The utility_source command should not be called.
- CMP0033: The export_library_dependencies command should not be called.
- CMP0032: The output_required_files command should not be called.
- CMP0031: The load_command command should not be called.
- CMP0030: The use_mangled_mesa command should not be called.
- CMP0029: The subdir_depends command should not be called.
- CMP0028: Double colon in target name means ALIAS or IMPORTED target.
- CMP0027: Conditionally linked imported targets with missing include directories.
- CMP0026: Disallow use of the LOCATION target property.
- CMP0025: Compiler id for Apple Clang is now AppleClang.
- CMP0024: Disallow include export result.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.3)
+cmake_minimum_required(VERSION 3.18)
project(ECDSAUTIL C)
set(ECDSAUTIL_VERSION 0.4.2)
|