-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cmake: popen_safe(..., errors='ignore') #6320
Conversation
the PR turned out to be not so simple--needs to be rereviewed after
We should probably remove this from 0.52.2, if this get's much more complicated. Also, I doubt that there will be a 0.52.2 at all with |
great good to know--this is worth fixing for 0.53.0 |
Actually I think the fix in cmake/executor.py is to use |
Python 3.5 |
Hmm, then maybe like ret = subprocess.run(..., universal_newlines=False)
stdout = ret.stdout.decode(errors='ignore') |
To be honest, I don't see the point in having the |
yes it was needless, it's much simpler as in edited comment |
mesonlib.Popen_safe() doesn't work with the case where undecodeable binary data comes back from CMake or compiler, so we use subprocess.run()
27efb2f
to
b222692
Compare
probably something to consider making a default for mesonlib/Popen_safe() in general,
but at least for cmake/executor, using
instead of Popen_safe() avoids Meson crash/traceback when a
dependency(..., method: 'cmake')
search goes wrong, and the compiler or Cmake feed back binary garbage not suitable for .decode() implicit in mesonlib/Popen_safe()That is, this change allows Meson to simply note the dependency as "not found" instead of crashing Meson.