-
Notifications
You must be signed in to change notification settings - Fork 28
Improve Visual Studio support. #179
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
Improve Visual Studio support. #179
Conversation
74a2eee to
55389ee
Compare
55389ee to
f95f058
Compare
This commit moves all the Windows Visual Studio files into the windows/ subdirectory. windows/ contains separate subdirectories and solutions for FIPS 140-2, FIPS Ready, and non-FIPS cases. I've also updated the documentation.
f95f058 to
67c3740
Compare
|
Initial pass through looks good. Is there a reason to make separate solutions instead of having a single solution and add configurations on top? |
No particular reason. That actually sounds better. I'll look into it. |
|
It would be great to have the base configurations and then have the FIPS solutions build on top of that. That way changes will need to be made only to the base configurations. |
Yeah, I agree. Will look into it. |
Instead of different solutions for FIPS 140-2, FIPS Ready, and non-FIPS, use one solution with multiple configurations.
1ad8708 to
b953330
Compare
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.
Great work on improving Windows VS solution support!
- As we discussed already. Please try to re-use configurations where possible. You found that you could use property sheets to that end which I think is great. Maintaining 12 distinct configurations (actually 24 due to x86 and x64 platforms) is not feasible in the long run.
https://docs.microsoft.com/en-us/cpp/build/create-reusable-property-configurations?view=msvc-170 - I think you didn't clean up the test project files in the
testdirectory. - In the
*.vcxprojfiles you specifiedv142as thePlatformToolset. This corresponds to Visual Studio 2019. While I also would like to go back to 2019, it appears that VS 2022 has been released and I think its good practice to set the defaults to the latest version. This will avoid reports of customers trying to compile the solution with aPlatformToolsetthat they don't have installed.
PlatformToolsetlist: https://docs.microsoft.com/en-us/cpp/build/how-to-modify-the-target-framework-and-platform-toolset?view=msvc-170
Any properties that would have been duplicated across configs are now held in property sheets.
|
@julek-wolfssl I believe I've addressed all your feedback, but let me know if I missed anything / if you have any new comments. |
julek-wolfssl
left a comment
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.
@haydenroche5 These changes are absolutely great! Amazing work! The only thing missing is you somehow deleted windows/README.md. Please restore it and add a # Development section with a note about the property sheets (i.e. that all config needs to go the lowest possible property sheet and the properties of specific configs should not be modified past what is already in them).
Thanks!
Thanks for the catch. Added it back and added a development section. |
julek-wolfssl
left a comment
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.
Great! I'm really liking the use of property sheets. We need to get this in wolfSSL ASAP. Over to @cconlon for a final review.
This commit moves all the Windows Visual Studio files into the windows/
subdirectory. windows/ contains separate subdirectories and solutions for FIPS
140-2 and non-FIPS cases. I've also updated the documentation.
Depends on wolfSSL/wolfssl#4840.