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
Feature: add msstl to the default settings for Clang on Windows (clang-cl) #4253
Conversation
Signed-off-by: SSE4 <tomskside@gmail.com>
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.
There is no other clang
on windows different from this one, not using msstl
? What is the relationship/difference against using this or the visual studio toolset? Maybe we should have clear enough the refactor to the visual studio settings model (IDE vs compiler) before? or not really?
@@ -103,7 +103,7 @@ def _make_migrations(self, old_version): | |||
version: ["3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0", | |||
"5.0", "6.0", "7.0", | |||
"8"] | |||
libcxx: [libstdc++, libstdc++11, libc++] | |||
libcxx: [libstdc++, libstdc++11, libc++, msstl] |
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.
These are the "old" settings from the previous version. Doesn't make sense to change them here.
that's the good question, how to model it, currently, as there are at least 3 concurrent ways, from that I know:
I've seen users doing all 3 of these, and they all actually work. for |
I cannot find any reference to such |
this is just an abbreviation I've used to refer |
But is this the same MSVCRT or LIBCMT that is used for Msft compiler? |
MSVCRT/LIBCMT is C runtime library, not C++ one, but yes, it uses the same as MSVC |
Yes, sorry, I meant MSVCPRT and LIBCPMT. So the clang settings will also need to specify the static/shared runtime? That is my concern. |
yep, it has the same static/shared runtime support (/MD, /MDd, /MT, /MTd). |
I think that this PR tries to workaround something that is missing in the settings model. Adding This issue belongs to the "refactor settings model" project we should open, gather there all the related issues and think about the model we need for 2.0 and how to backport it to the current Conan version. |
Yes, I agree something is not clear here. Maybe it could make more sense to have a |
related to the #1839
Changelog: Feature: add msstl to the default settings for Clang on Windows (clang-cl)
Docs: https://github.com/conan-io/docs/pull/XXXX
develop
branch, documenting this one.Note: By default this PR will skip the slower tests and will use a limited set of python versions. Check here how to increase the testing level by writing some tags in the current PR body text.
default settings.yml have only
libstdc++
andlibc++
as possible standard library implementations for Clang. Clang on Windows (akaclang-cl
) uses neither of these - it uses standard library implementation from the Microsoft Visual Studio.this setting will result in
-stdlib
argument passed to the compiler, as it's incorrect and unsupported.