aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/cmake
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-07-04 17:14:28 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2021-07-05 03:04:24 +0300
commit0d0f2cdafd7597ff84baf7a4790f3f016fe2337f (patch)
tree40c722bc84b3033fa3690fc82791f90926d81060 /mesonbuild/cmake
parent50f870e3619e2cea648258bcd72dbf35fbc8143f (diff)
downloadmeson-0d0f2cdafd7597ff84baf7a4790f3f016fe2337f.zip
meson-0d0f2cdafd7597ff84baf7a4790f3f016fe2337f.tar.gz
meson-0d0f2cdafd7597ff84baf7a4790f3f016fe2337f.tar.bz2
cmake: Only use the `cm_` prefix when it is actually required (fixes #8955)
Diffstat (limited to 'mesonbuild/cmake')
-rw-r--r--mesonbuild/cmake/interpreter.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py
index 745def1..fe66bec 100644
--- a/mesonbuild/cmake/interpreter.py
+++ b/mesonbuild/cmake/interpreter.py
@@ -26,6 +26,7 @@ from ..mesonlib import MachineChoice, OrderedSet, version_compare, path_is_in_ro
from ..mesondata import mesondata
from ..compilers.compilers import assembler_suffixes, lang_suffixes, header_suffixes, obj_suffixes, lib_suffixes, is_header
from ..programs import ExternalProgram
+from ..coredata import FORBIDDEN_TARGET_NAMES
from enum import Enum
from functools import lru_cache
from pathlib import Path
@@ -120,7 +121,9 @@ transfer_dependencies_from = ['header_only']
_cmake_name_regex = re.compile(r'[^_a-zA-Z0-9]')
def _sanitize_cmake_name(name: str) -> str:
name = _cmake_name_regex.sub('_', name)
- return 'cm_' + name
+ if name in FORBIDDEN_TARGET_NAMES or name.startswith('meson'):
+ name = 'cm_' + name
+ return name
class OutputTargetMap:
rm_so_version = re.compile(r'(\.[0-9]+)+$')