From 684e265a0c5511d4fd11e103868bd70fd371fe74 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Wed, 3 Jun 2026 11:24:26 +0000 Subject: [PATCH] Nest OpenSSL compat headers under MatrixSSL include root --- CMakeLists.txt | 9 +++------ README.md | 9 +++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8cf42ce..d80cabd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,7 @@ if(MATRIXSSL_INSTALL_INCLUDE_SUBDIR STREQUAL "") endif() set(MATRIXSSL_BUILD_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/include") set(MATRIXSSL_BUILD_PUBLIC_INCLUDE_DIR "${MATRIXSSL_BUILD_INCLUDE_DIR}/${MATRIXSSL_INSTALL_INCLUDE_SUBDIR}") -set(MATRIXSSL_BUILD_OPENSSL_INCLUDE_DIR "${MATRIXSSL_BUILD_INCLUDE_DIR}/openssl") +set(MATRIXSSL_BUILD_OPENSSL_INCLUDE_DIR "${MATRIXSSL_BUILD_PUBLIC_INCLUDE_DIR}/openssl") set(MATRIXSSL_CONFIG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/configs/${MATRIXSSL_CONFIG}") if(NOT EXISTS "${MATRIXSSL_CONFIG_DIR}/cryptoConfig.h" OR @@ -74,6 +74,8 @@ configure_file("${MATRIXSSL_GENERATED_DIR}/core/config/coreConfig.h" "${MATRIXSSL_BUILD_PUBLIC_INCLUDE_DIR}/coreConfig.h" COPYONLY) configure_file("${MATRIXSSL_GENERATED_DIR}/crypto/cryptoConfig.h" "${MATRIXSSL_BUILD_PUBLIC_INCLUDE_DIR}/cryptoConfig.h" COPYONLY) +configure_file("${MATRIXSSL_GENERATED_DIR}/crypto/cryptoConfig.h" + "${MATRIXSSL_BUILD_PUBLIC_INCLUDE_DIR}/crypto/cryptoConfig.h" COPYONLY) configure_file("${MATRIXSSL_GENERATED_DIR}/matrixssl/matrixsslConfig.h" "${MATRIXSSL_BUILD_PUBLIC_INCLUDE_DIR}/matrixsslConfig.h" COPYONLY) file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/core/include/" @@ -548,11 +550,6 @@ endif() install(DIRECTORY "${MATRIXSSL_BUILD_PUBLIC_INCLUDE_DIR}/" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${MATRIXSSL_INSTALL_INCLUDE_SUBDIR} FILES_MATCHING PATTERN "*.h") -if(MATRIXSSL_BUILD_OPENSSL_COMPAT AND MATRIXSSL_HAVE_OPENSSL_COMPAT) - install(DIRECTORY "${MATRIXSSL_BUILD_OPENSSL_INCLUDE_DIR}/" - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/openssl - FILES_MATCHING PATTERN "*.h") -endif() install(EXPORT matrixsslTargets NAMESPACE MATRIXSSL:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/matrixssl) diff --git a/README.md b/README.md index 031476e..a63031f 100644 --- a/README.md +++ b/README.md @@ -80,3 +80,12 @@ Sensitive emails can be encrypted using the public key in this directory [pgp.as + Example client and server code included + Clean, heavily commented code in portable C + User and developer documentation + +### CMake OpenSSL compatibility include layout + +When the reduced OpenSSL compatibility layer is enabled, its headers are exported +inside the MatrixSSL include root. With the default include directory this means +`matrixssl/openssl/*.h`; with `-DMATRIXSSL_LIBRARY_PREFIX=nw` this becomes +`nwmatrixssl/openssl/*.h`. Consumers may add the MatrixSSL include root itself +and still include compatibility headers as ``, without installing +a top-level `include/openssl` directory that could conflict with system OpenSSL.