wolfSSL CMake
This directory contains some supplementary functions for the CMakeLists.txt in the root.
See also cmake notes in the INSTALL documentation file.
If new CMake build options are added cmake/options.h.in
must also be updated.
For more information on building wolfSSL, see the wolfSSL Manual.
In summary for cmake:
# From the root of the wolfSSL repo:
mkdir -p out
pushd out
cmake ..
cmake --build .
# View the available ciphers with:
./examples/client/client -e
popd
CMake Presets
The CMakePresets.json
; see [cmake-presets(https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html)
-
Cross-platform and cross-IDE.
-
Standardized CMake feature (since CMake 3.19+, recommended after 3.21).
-
Works in Visual Studio, VS Code, CLI, CI systems, etc..
Visual Studio Settings
There's also a Visual Studio specific file: CMakeSettings.json
. This the file that supports the GUI CMake settings.
See the Microsoft CMakeSettings.json schema reference
Visual Studio (2022 v17.1 and later):
-
Prefers
CMakePresets.json
if it exists. -
Falls back to
CMakeSettings.json
if no presets are found. -
Lets you override or extend presets via
CMakeSettings.json
.
Recommendations:
-
Use
CMakePresets.json
to define shared, cross-platform presets. -
Use
CMakeSettings.json
to define Visual Studio-specific overrides, like:- Custom output directories
- Specific environment variables
- *UI-related tweaks