| ## Copyright 2023 The IREE Authors |
| # |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| """Utilities that help generate artifacts.""" |
| |
| import re |
| |
| # The characters unsafe for CMake and file systems. It's the negation of the |
| # allowed list, which is derived from the join of |
| # https://cmake.org/cmake/help/v3.27/policy/CMP0037.html and |
| # https://www.mtu.edu/umc/services/websites/writing/characters-avoid/. |
| UNSAFE_CHARACTERS = re.compile(r"[^0-9a-zA-Z\-_.]") |
| |
| |
| def get_safe_name(name: str) -> str: |
| """Replace unsafe characters for CMake and file systems with `_`.""" |
| return UNSAFE_CHARACTERS.sub("_", name) |