Set OpenSSL 1.1.1 as the minimum version, recommend 3.0.0 for Windows

* Also clean up some formatting in the Windows instructions
* Changed the recommended version for Windows to 1.1.1L after deeper
  checking uncovered some build issues.
This commit is contained in:
Edward Hennis
2021-09-27 13:53:02 -04:00
committed by manojsdoshi
parent 8a25f32824
commit 1ca8898703
3 changed files with 27 additions and 22 deletions

View File

@@ -45,7 +45,7 @@ if (static OR APPLE OR MSVC)
set (OPENSSL_USE_STATIC_LIBS ON) set (OPENSSL_USE_STATIC_LIBS ON)
endif () endif ()
set (OPENSSL_MSVC_STATIC_RT ON) set (OPENSSL_MSVC_STATIC_RT ON)
find_dependency (OpenSSL 1.0.2 REQUIRED) find_dependency (OpenSSL 1.1.1 REQUIRED)
find_dependency (ZLIB) find_dependency (ZLIB)
find_dependency (date) find_dependency (date)
if (TARGET ZLIB::ZLIB) if (TARGET ZLIB::ZLIB)

View File

@@ -22,7 +22,7 @@ if (static)
set (OPENSSL_USE_STATIC_LIBS ON) set (OPENSSL_USE_STATIC_LIBS ON)
endif () endif ()
set (OPENSSL_MSVC_STATIC_RT ON) set (OPENSSL_MSVC_STATIC_RT ON)
find_package (OpenSSL 1.0.2 REQUIRED) find_package (OpenSSL 1.1.1 REQUIRED)
target_link_libraries (ripple_libs target_link_libraries (ripple_libs
INTERFACE INTERFACE
OpenSSL::SSL OpenSSL::SSL

View File

@@ -16,7 +16,7 @@ need these software components
|-----------|-----------------------| |-----------|-----------------------|
| [Visual Studio 2017](README.md#install-visual-studio-2017)| 15.5.4 | | [Visual Studio 2017](README.md#install-visual-studio-2017)| 15.5.4 |
| [Git for Windows](README.md#install-git-for-windows)| 2.16.1 | | [Git for Windows](README.md#install-git-for-windows)| 2.16.1 |
| [OpenSSL Library](README.md#install-openssl) | 1.0.2n | | [OpenSSL Library](README.md#install-openssl) | 1.1.1L |
| [Boost library](README.md#build-boost) | 1.70.0 | | [Boost library](README.md#build-boost) | 1.70.0 |
| [CMake for Windows](README.md#optional-install-cmake-for-windows)* | 3.12 | | [CMake for Windows](README.md#optional-install-cmake-for-windows)* | 3.12 |
@@ -50,17 +50,19 @@ Windows is mandatory for running the unit tests.
### Install OpenSSL ### Install OpenSSL
[Download OpenSSL.](http://slproweb.com/products/Win32OpenSSL.html) There will [Download the latest version of
four `Win64` bit variants available, you want the non-light `v1.0` line. As of OpenSSL.](http://slproweb.com/products/Win32OpenSSL.html) There will
this writing, you **should** select several `Win64` bit variants available, you want the non-light
`v1.1` line. As of this writing, you **should** select
* Win64 OpenSSL v1.0.2n. * Win64 OpenSSL v1.1.1L
and should **not** select and should **not** select
* Win64 OpenSSL v1.0.2n light * Anything with "Win32" in the name
* Win64 OpenSSL v1.1.0g * Anything with "light" in the name
* Win64 OpenSSL v1.1.0g light * Anything with "EXPERIMENTAL" in the name
* Anything in the 3.0 line - rippled won't currently build with this version.
Run the installer, and choose an appropriate location for your OpenSSL Run the installer, and choose an appropriate location for your OpenSSL
installation. In this guide we use `C:\lib\OpenSSL-Win64` as the destination installation. In this guide we use `C:\lib\OpenSSL-Win64` as the destination
@@ -146,7 +148,7 @@ If you receive an error about not having the "correct access rights" make sure
you have Github ssh keys, as described above. you have Github ssh keys, as described above.
For a stable release, choose the `master` branch or one of the tagged releases For a stable release, choose the `master` branch or one of the tagged releases
listed on [rippled's GitHub page](https://github.com/ripple/rippled/releases). listed on [rippled's GitHub page](https://github.com/ripple/rippled/releases).
``` ```
git checkout master git checkout master
@@ -175,7 +177,7 @@ To begin, simply:
cloned rippled folder. cloned rippled folder.
2. Right-click on `CMakeLists.txt` in the **Solution Explorer - Folder View** to 2. Right-click on `CMakeLists.txt` in the **Solution Explorer - Folder View** to
generate a `CMakeSettings.json` file. A sample settings file is provided generate a `CMakeSettings.json` file. A sample settings file is provided
[here](/Builds/VisualStudio2017/CMakeSettings-example.json). Customize the [here](/Builds/VisualStudio2017/CMakeSettings-example.json). Customize the
settings for `BOOST_ROOT`, `OPENSSL_ROOT` to match the install paths if they settings for `BOOST_ROOT`, `OPENSSL_ROOT` to match the install paths if they
differ from those in the file. differ from those in the file.
4. Select either the `x64-Release` or `x64-Debug` configuration from the 4. Select either the `x64-Release` or `x64-Debug` configuration from the
@@ -221,7 +223,7 @@ Navigate to the `build\cmake` folder created above and select the `rippled.sln`
file. You can then choose whether to build the `Debug` or `Release` solution file. You can then choose whether to build the `Debug` or `Release` solution
configuration. configuration.
The executable will be in The executable will be in
``` ```
.\build\cmake\Release\rippled.exe .\build\cmake\Release\rippled.exe
``` ```
@@ -233,21 +235,24 @@ These paths are relative to your cloned git repository.
# Unity/No-Unity Builds # Unity/No-Unity Builds
The rippled build system defaults to using [unity source files](http://onqtam.com/programming/2018-07-07-unity-builds/) The rippled build system defaults to using
to improve build times. In some cases it might be desirable to disable the unity build and compile [unity source files](http://onqtam.com/programming/2018-07-07-unity-builds/)
individual translation units. Here is how you can switch to a "no-unity" build configuration: to improve build times. In some cases it might be desirable to disable the
unity build and compile individual translation units. Here is how you can
switch to a "no-unity" build configuration:
## Visual Studio Integrated CMake ## Visual Studio Integrated CMake
Edit your `CmakeSettings.json` (described above) by adding `-Dunity=OFF` to the `cmakeCommandArgs` entry Edit your `CmakeSettings.json` (described above) by adding `-Dunity=OFF`
for each build configuration. to the `cmakeCommandArgs` entry for each build configuration.
## Standalone CMake Builds ## Standalone CMake Builds
When running cmake to generate the Visual Studio project files, add `-Dunity=OFF` to the When running cmake to generate the Visual Studio project files, add
command line options passed to cmake. `-Dunity=OFF` to the command line options passed to cmake.
**Note:** you will need to re-run the cmake configuration step anytime you want to switch between unity/no-unity builds. **Note:** you will need to re-run the cmake configuration step anytime you
want to switch between unity/no-unity builds.
# Unit Test (Recommended) # Unit Test (Recommended)