Skip to content

Commit

Permalink
halt build if CURVE requested but not found
Browse files Browse the repository at this point in the history
ENABLE_CURVE is currently redundant with WITH_LIBSODIUM, as the only existing provider

now builds where requested configuration is not found fail rather than proceeding without requested features
  • Loading branch information
minrk authored and bluca committed Feb 28, 2024
1 parent ff231d2 commit 481cc3f
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions CMakeLists.txt
Expand Up @@ -258,12 +258,13 @@ endif()
# Select curve encryption library, defaults to disabled To use libsodium instead, use --with-libsodium(must be
# installed) To disable curve, use --disable-curve

option(WITH_LIBSODIUM "Use libsodium" OFF)
option(WITH_LIBSODIUM "Use libsodium (required with ENABLE_CURVE)" OFF)
option(WITH_LIBSODIUM_STATIC "Use static libsodium library" OFF)
option(ENABLE_LIBSODIUM_RANDOMBYTES_CLOSE "Automatically close libsodium randombytes. Not threadsafe without getrandom()" ON)
option(ENABLE_CURVE "Enable CURVE security" OFF)

if(ENABLE_CURVE)
# libsodium is currently the only CURVE provider
if(WITH_LIBSODIUM)
find_package("sodium")
if(SODIUM_FOUND)
Expand All @@ -280,12 +281,17 @@ if(ENABLE_CURVE)
endif()
else()
message(
ERROR
"libsodium not installed, you may want to install libsodium and run cmake again"
FATAL_ERROR
"libsodium requested but not found, you may want to install libsodium and run cmake again"
)
endif()
else() # WITH_LIBSODIUM
message(
FATAL_ERROR
"ENABLE_CURVE set, but not WITH_LIBSODIUM. No CURVE provider found."
)
endif()
else()
else() # ENABLE_CURVE
message(STATUS "CURVE security is disabled")
endif()

Expand Down

0 comments on commit 481cc3f

Please sign in to comment.