-
Notifications
You must be signed in to change notification settings - Fork 835
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
Add VS2022 DLL Release options.h build configuration #8112
base: master
Are you sure you want to change the base?
Conversation
Jenkins retest this please |
@@ -16,6 +16,7 @@ config.* | |||
!cmake/config.in | |||
*Debug/ | |||
*Release/ | |||
*Release (options.h)/ |
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.
Why only for release? Where is the README to go along with these new VS 2022 projects? Would be nice to explain the various configuration options and where the user_settings.h is coming from.
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.
Why only for release?
The initial settings for only release build was as related to wolfSSL/wolfcrypt_nodejs#8 where debugging was unlikely.
It was also an exploratory PR, to see if there was interest in an options.h
build for Windows.
But you are right; there should be a debug option. Potentially also options.h
configs for 32bit debug and release, too.
Where is the README to go along with these new VS 2022 projects?
I neglected that, as I was documenting in an upcoming blog that I would have referred to.
I'll add some README info, as well.
Would be nice to explain the various configuration options and where the user_settings.h is coming from.
That's also in the upcoming blog, but you ae correct it should also be in the README.
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.
Seems like documentation needs to be added similar to PR description?
I converted to draft while I work on adding |
Description
Building on #8090 and #8104, this PR adds a new
DLL Release (config.h)
Build Configuration to the Visual Studio 2022 Project file that instead of using theuser_settings.h
from the IDE/WIN directory, uses the generated wolfsslconfig.h
file.Let's say, for whatever reason, you'd like to used the same wolfssl
options.h
created by a Linux./configure
command, also for a Windows build of a DLL.One place that this might be useful is a NodeJS/NPM module such as my wolfcrypt_nodejs branch used in both Windows and Linux. See also wolfSSL/wolfcrypt_nodejs#8
Without the capability added in this PR, one would need to know both the Linux
./configure
command-line options, as well as the respective settings to exactly match in the Windowsuser_settings.h
.Alternatively, the option of course exists for use a
user_settings.h
in the Linux environment. This PR is only for usingconfig.h
for a Windows build.We'll assume that the respective
./configure
options in WSL are provided to give compatibility in both Windows and Linux.Otherwise, for an example here, if in WSL on 64bit Windows 11 using the
--enable-all
:Add this to the respective generated
options.h
to also use in Windows to address incompatibilities observed for this PR.Fixes zd# n/a
Testing
Tested on Windows 11, Visual Studio 17.11.5, Platform Toolset v143
Checklist