oqsprovider is first and foremost being developed and maintained under
Linux. Therefore, all UNIX-like builds, incl. cygwin, should work with
least problems.
OpenSSL (>=3.0.0) is becoming generally available via the various package
managers and distributions, e.g., via apt install openssl or brew install openssl@3.
If it is not, please build and install via the instructions here.
liboqs is available in some select distributions and package managers,
e.g., via brew install liboqs on MacOS, but typically needs to be build
from source. See instructions here.
oqsprovider at minimum needs git access, cmake and a C compiler
to be present to be build, e.g., via apt install cmake build-essential git.
Standard cmake build sequence can be used (assuming prerequisites are installed)
to build in/install from directory _build:
cmake -S . -B _build && cmake --build _build && cmake --install _build
If openssl and/or liboqs have not been installed to system standard locations
use the cmake define "-DOPENSSL_ROOT_DIR" and/or the environment variable
"liboqs_DIR" to utilize those, e.g., like this:
liboqs_DIR=../liboqs cmake -DOPENSSL_ROOT_DIR=/opt/openssl3 -S . -B _build && cmake --build _build && cmake --install _build
Further configuration options are documented here.
Standard ctest can be used to validate correct operation in build directory _build, e.g.:
cd _build && ctest --parallel 5 --rerun-failed --output-on-failure -V
A build target to create UNIX .deb packaging is available via the standard
package target, e.g., executing make package in the _build subdirectory.
The resultant file can be installed as usual via dpkg -i ....
An ".rb" packaging script for brew is available in the scripts directory
and is regularly tested as part of CI.