aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2024-07-05 00:03:48 -0400
committerLibravatar vnugent <public@vaughnnugent.com>2024-07-05 00:03:48 -0400
commit23fe6e8c8596333c2183f0f4389817087442c551 (patch)
tree1b87644b34141f9deedf7c655084a3c0d5b22817 /CMakeLists.txt
parentdc71f861df8929deee300368b88ef47d45560695 (diff)
push latest utils and changes
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 53fbe29..493b18a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,6 +17,7 @@ project(
set(_NC_PROJ_NAME "noscrypt")
option(NC_BUILD_TESTS "Build tests" OFF)
+option(NC_ENABLE_UTILS "Enables the sidecar utility library" OFF)
option(NC_DISABLE_INPUT_VALIDATION "Disables public function input validation" OFF)
option(NC_FETCH_MBEDTLS "Fetch Mbed-TLS from it's source repository locally" OFF)
option(NC_FETCH_SECP256K1 "Fetch and locally build secp256k1 source code" ON)
@@ -94,6 +95,17 @@ set(NOSCRYPT_HEADERS
"src/nc-crypto.h"
)
+#if utils are enabled, add the source files
+if(NC_ENABLE_UTILS)
+ list(APPEND NOSCRYPT_SRCS "src/noscryptutil.c")
+ list(APPEND NOSCRYPT_HEADERS "include/noscryptutil.h")
+
+ #notify the project that utils are enabled
+ list(APPEND NC_PROJ_DEFINTIONS NC_ENABLE_UTILS)
+
+ message(STATUS "Utilities libraries are enabled")
+endif()
+
#static/shared library
add_library(${_NC_PROJ_NAME} SHARED ${NOSCRYPT_SRCS} ${NOSCRYPT_HEADERS})
add_library(${_NC_PROJ_NAME}_static STATIC ${NOSCRYPT_SRCS} ${NOSCRYPT_HEADERS})
@@ -366,11 +378,13 @@ if(NC_BUILD_TESTS)
#add test executable and link to shared library for more realistic usage
add_executable(nctest tests/test.c)
target_link_libraries(nctest ${_NC_PROJ_NAME})
+
target_include_directories(nctest PRIVATE include)
target_include_directories(nctest PRIVATE src) #allow access to internal headers
#enable c11 for testing
target_compile_features(nctest PRIVATE c_std_11)
+ target_compile_definitions(nctest PRIVATE ${NC_PROJ_DEFINTIONS})
enable_testing()