-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[boost] For Visual Studio, pass some values of settings.compiler.toolset to B2 #5119
[boost] For Visual Studio, pass some values of settings.compiler.toolset to B2 #5119
Conversation
I detected other pull requests that are modifying boost/all recipe:
This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there. |
This comment has been minimized.
This comment has been minimized.
The failure was:
It's a problem we run into a lot when there are multiple parallel builds running on the same machine. The failure can probably be avoided globally for all jobs by setting the environment variable |
This comment has been minimized.
This comment has been minimized.
I rebased this to get it onto the latest
As mentioned above, that's not related to the code but to a well-known problem with MSBuild. How can we resolve this? We've had the same problem at our company, and we solved it by telling MSBuild to not reuse nodes. |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
recipes/boost/all/conanfile.py
Outdated
@@ -1189,9 +1193,20 @@ def create_library_config(deps_name, name): | |||
filename = "%s/user-config.jam" % folder | |||
tools.save(filename, contents) | |||
|
|||
@property | |||
def _msvc_toolset(self): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤔 would this be the same? https://docs.conan.io/en/latest/reference/tools.html#tools-msvs-toolset
👋 @uilianries @SSE4 @madebr @SpaceIm This is an old PR that seems to fix how settings are passed. It looks correct to me but I am not sure what the implications might be, if you have a chance please review 👀 |
This comment has been minimized.
This comment has been minimized.
I'm confused about some of the failures, because
...is working for me, with a configuration of:
Xcode 12.4 and CMake 3.19.1. Recommendations? |
Ohh I found this in another PR #6929 (comment) |
@prince-chrismc @SpaceIm @jgsogo I just realized that my attempts to use What can we do to resurrect this PR? |
Rebase and let's see if the build passes! |
Translates settings.compiler.toolset settings in the form vNNN to a toolset version, overriding the use of the settings.compiler.version. This allows building with Visual Studio 2019 while using older toolsets.
It appears that if the environment variables are set, B2 will use the compiler set by tools.vcvars() despite the toolset setting. Even without tools.vcvars(), B2 seems to find the compiler and other tools.
Eliminate all the guessing of version numbers and use the calculations and defaults in tools.msvs_toolset() Retain the conversion of the version number to what B2 wants: v141 -> 14.1 for instance.
Use tools.vcvars() unless the user specified a toolset manually.
All green in build 7 (
|
Magic! 🧙 |
🥳 Thanks, everyone! |
Specify library name and version: conan/1.75.0
This fixes a problem we had where
compiler.version=16
andcompiler.toolset=v141
, but B2 was still using thev142
compiler.compiler.toolset
is set, use that rather than inferring the toolset from thecompiler.version
.tools.vcvars()
. Doing so seems to cause B2 to build Boost with the wrong toolset, even though it says it chose the desired compiler.I implemented this for
compiler.toolset
that is in the formvNNN
. I'm unsure of how the other values from `settings.yml' work. I would expect that people that use those toolsets could extend this work.conan-center hook activated.