aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/cmake
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-12-01 23:41:48 +0100
committerGitHub <noreply@github.com>2021-12-02 00:41:48 +0200
commit3f1519f2e739cb8bab4aba4c5b2e0674ff2a6790 (patch)
tree9e66269a900bd9e5d10d05a6550dc78d07fdf527 /mesonbuild/cmake
parent45c5300496486ff9f1f3d47a01cdf19b8fa7e877 (diff)
downloadmeson-3f1519f2e739cb8bab4aba4c5b2e0674ff2a6790.zip
meson-3f1519f2e739cb8bab4aba4c5b2e0674ff2a6790.tar.gz
meson-3f1519f2e739cb8bab4aba4c5b2e0674ff2a6790.tar.bz2
cmake: Deprecate CMake <3.14 and warn for <3.17 (#9677)
* cmake: Deprecate CMake <3.14 and warn for <3.17 See: - #7832 - #9676 * cmake: Add deprecation release note snippet
Diffstat (limited to 'mesonbuild/cmake')
-rw-r--r--mesonbuild/cmake/interpreter.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py
index a8ed67c..c2e2d27 100644
--- a/mesonbuild/cmake/interpreter.py
+++ b/mesonbuild/cmake/interpreter.py
@@ -33,6 +33,7 @@ from functools import lru_cache
from pathlib import Path
import typing as T
import re
+import textwrap
from os import environ
from ..mparser import (
@@ -832,6 +833,19 @@ class CMakeInterpreter:
if version_compare(cmake_exe.version(), '>=3.14'):
self.cmake_api = CMakeAPI.FILE
self.fileapi.setup_request()
+ else:
+ mlog.deprecation(f'Support for CMake <3.14 (Meson found {cmake_exe.version()}) is deprecated since Meson 0.61.0')
+
+ if version_compare(cmake_exe.version(), '<3.17.0'):
+ mlog.warning(textwrap.dedent(f'''\
+ The minimum recommended CMake version is 3.17.0.
+ |
+ | However, Meson was only able to find CMake {cmake_exe.version()} at {cmake_exe.cmakebin.command}.
+ |
+ | Support for all CMake versions below 3.17.0 will be deprecated and
+ | removed once newer CMake versions are more widely adopted. If you encounter
+ | any errors please try upgrading CMake to a newer version first.
+ '''))
# Run CMake
mlog.log()