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
This commit is contained in:
parent
45c5300496
commit
3f1519f2e7
|
@ -0,0 +1,7 @@
|
||||||
|
## Support for CMake <3.14 is now deprecated for CMake subprojects
|
||||||
|
|
||||||
|
In CMake 3.14, the File API was introduced and the old CMake server API was
|
||||||
|
deprecated (and removed in CMake 3.20). Thus support for this API will also
|
||||||
|
be removed from Meson in future releases.
|
||||||
|
|
||||||
|
This deprecation only affects CMake subprojects.
|
|
@ -33,6 +33,7 @@ from functools import lru_cache
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import typing as T
|
import typing as T
|
||||||
import re
|
import re
|
||||||
|
import textwrap
|
||||||
from os import environ
|
from os import environ
|
||||||
|
|
||||||
from ..mparser import (
|
from ..mparser import (
|
||||||
|
@ -832,6 +833,19 @@ class CMakeInterpreter:
|
||||||
if version_compare(cmake_exe.version(), '>=3.14'):
|
if version_compare(cmake_exe.version(), '>=3.14'):
|
||||||
self.cmake_api = CMakeAPI.FILE
|
self.cmake_api = CMakeAPI.FILE
|
||||||
self.fileapi.setup_request()
|
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
|
# Run CMake
|
||||||
mlog.log()
|
mlog.log()
|
||||||
|
|
Loading…
Reference in New Issue