cmake: Do not split CMAKE_PREFIX_PATH with ':' on Windows

This is obviously wrong, since on Windows ':' is in the drive letter.
Causes us to call cmake with `-DCMAKE_PREFIX_PATH=c;\foo\bar`.
This commit is contained in:
Nirbheek Chauhan 2020-08-05 22:07:04 +05:30 committed by Daniel Mensinger
parent eeebfded85
commit adbed4c636
1 changed files with 6 additions and 1 deletions

View File

@ -69,7 +69,12 @@ class CMakeExecutor:
self.environment.is_cross_build(),
'CMAKE_PREFIX_PATH')
if env_pref_path is not None:
env_pref_path = re.split(r':|;', env_pref_path)
if mesonlib.is_windows():
# Cannot split on ':' on Windows because its in the drive letter
env_pref_path = env_pref_path.split(os.pathsep)
else:
# https://github.com/mesonbuild/meson/issues/7294
env_pref_path = re.split(r':|;', env_pref_path)
env_pref_path = [x for x in env_pref_path if x] # Filter out empty strings
if not self.prefix_paths:
self.prefix_paths = []