-
Notifications
You must be signed in to change notification settings - Fork 61
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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] Support for MSVC #1236
Comments
CI? I'll have to install windows somewhere, won't I? |
Was thinking of using appveyor |
Is there anything you need help with here? Apart from appveyor, I have only ever used Github Actions and they were easy to set up. |
I just need to find time to tackle the stupid errors that prevent other test to compile. Appveyor is setup already. |
It looks like some compile time traits we have don't fly properly but the error messages are outrageous. I will push a more up-to-date list of breaking thing later today. |
So mostly we need help understanding why msvc don't understand our properly standard templatr monstrosity |
Sure, sounds like something I can investigate. |
Good. Let me update this issue later withore info |
@Tradias added a small roadmap on how to tackle the thing. Tell me if you need help. |
unit.api targets
|
Looks good, I have managed to get |
Good job wow :D |
I didn't know about #1458, one of the issue was in fact related. I think my solution might be faster to compile but potentially incorrect. |
* Simplify code around find_pattern * Fix very vocal warning * Simplify value_type_t * unit.internals now compiles * Fix over-eager value_type fix
I had the same code at one point but it failed on other compilers. Maybe we can borrow your cocnept based strategy but lay it out like ours ? |
Yes that is possible. I have reverted it to your version for now. |
Merged the CI adaptation to see if it is faster to compiles |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
This is a mutable, ongoing issue to discuss/list steps for proper MSVC support.
Current Status
Since MSVC 2022 19.30, C++20 support has drastically improved. Building blocks libraries like kumi and raberu now natively compile on MSVC without any hassle. This has triggered the investigation of how much EVE needs to be fixed to make MSVC EVE a thing.
Note that we currently don't care about code generation quality as our first goal here is to get the library to compile.
Plan of Actions
We need to use our module based tests system to validate EVE code on MSVC independant piece after the next.
This is the ordered list of module to make pass:
unit.api.exe
unit.memory.exe
unit.core.exe
unit.math.exe
unit.algo.exe
unit.views.exe
doc.exe
Best process so far:
#if #else #endif
whenever possibleMSVC also produces a lot of obnoxious warning for conversions. Some are really stupid IMHO but try to fix them
as best as we can unless it makes the code ugly.
Current Status
unit.arch.exe
compiles, pass tests and validate CIunit.meta.exe
compiles and pass tests and validate CIunit.internals.exe
compiles and pass tests and validate CIThe text was updated successfully, but these errors were encountered: