From a89cd65980153ef60b42cb26d3bef949751f87f1 Mon Sep 17 00:00:00 2001 From: Pierre Wendling Date: Sun, 6 Aug 2023 15:07:31 -0400 Subject: CMake: Export and install library targets. The configs can be consumed by setting LibreSSL_DIR to the build directory, or after installation using CMAKE_PREFIX_PATH/LibreSSL_DIR. For compatibility, the EXPORT_NAME of targets and the LIBRESSL_* variables are set to match the names used in FindLibreSSL. --- crypto/CMakeLists.txt | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'crypto') diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 1e73e88..597ffef 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -990,9 +990,29 @@ if (WIN32) endif() set_target_properties(crypto PROPERTIES OUTPUT_NAME crypto${CRYPTO_POSTFIX} - ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX}) -set_target_properties(crypto PROPERTIES VERSION - ${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION}) + ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX} + EXPORT_NAME Crypto + VERSION ${CRYPTO_VERSION} + SOVERSION ${CRYPTO_MAJOR_VERSION} +) + +target_include_directories( + crypto + PUBLIC + $ + $ +) + +install( + TARGETS crypto + EXPORT Crypto-target +) + +export( + EXPORT Crypto-target + FILE "${LibreSSL_BINARY_DIR}/LibreSSL-Crypto.cmake" + NAMESPACE LibreSSL:: +) if(ENABLE_LIBRESSL_INSTALL) install( @@ -1001,6 +1021,12 @@ if(ENABLE_LIBRESSL_INSTALL) LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + install( + EXPORT Crypto-target + FILE "LibreSSL-Crypto.cmake" + NAMESPACE LibreSSL:: + DESTINATION "${LIBRESSL_INSTALL_CMAKEDIR}/LibreSSL" + ) endif(ENABLE_LIBRESSL_INSTALL) # build static library for regression test -- cgit v1.2.3-55-g6feb