From de527fbfe03f159ce19d549b3ba5c0289ee3573c Mon Sep 17 00:00:00 2001 From: David Horstmann Date: Thu, 28 Sep 2023 17:52:52 +0100 Subject: [PATCH] Add MBEDTLS_TARGET_PREFIX to 3rdparty CMake MBEDTLS_TARGET_PREFIX is prepended to the CMake targets for Mbed TLS except for targets in 3rdparty. Change this so that 3rdparty targets use the prefix as well. This allows multiple copies of Mbed TLS to be used in the same CMake tree when using code in the 3rdparty directory. Signed-off-by: David Horstmann --- 3rdparty/everest/CMakeLists.txt | 8 +++++--- 3rdparty/p256-m/CMakeLists.txt | 8 +++++--- library/CMakeLists.txt | 19 +++++++++++-------- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/3rdparty/everest/CMakeLists.txt b/3rdparty/everest/CMakeLists.txt index 4ad367e17..33f011675 100644 --- a/3rdparty/everest/CMakeLists.txt +++ b/3rdparty/everest/CMakeLists.txt @@ -1,9 +1,11 @@ -add_library(everest +set(everest_target "${MBEDTLS_TARGET_PREFIX}everest") + +add_library(${everest_target} library/everest.c library/x25519.c library/Hacl_Curve25519_joined.c) -target_include_directories(everest +target_include_directories(${everest_target} PUBLIC $ $ $ @@ -21,7 +23,7 @@ if(INSTALL_MBEDTLS_HEADERS) endif(INSTALL_MBEDTLS_HEADERS) -install(TARGETS everest +install(TARGETS ${everest_target} EXPORT MbedTLSTargets DESTINATION ${CMAKE_INSTALL_LIBDIR} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) diff --git a/3rdparty/p256-m/CMakeLists.txt b/3rdparty/p256-m/CMakeLists.txt index 0001dd2a8..7b6e13a94 100644 --- a/3rdparty/p256-m/CMakeLists.txt +++ b/3rdparty/p256-m/CMakeLists.txt @@ -1,8 +1,10 @@ -add_library(p256m +set(p256m_target ${MBEDTLS_TARGET_PREFIX}p256m) + +add_library(${p256m_target} p256-m_driver_entrypoints.c p256-m/p256-m.c) -target_include_directories(p256m +target_include_directories(${p256m_target} PUBLIC $ $ $ @@ -19,7 +21,7 @@ if(INSTALL_MBEDTLS_HEADERS) endif(INSTALL_MBEDTLS_HEADERS) -install(TARGETS p256m +install(TARGETS ${p256m_target} EXPORT MbedTLSTargets DESTINATION ${CMAKE_INSTALL_LIBDIR} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index 2b1fd43d1..389435f18 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -268,17 +268,20 @@ if(USE_STATIC_MBEDTLS_LIBRARY AND USE_SHARED_MBEDTLS_LIBRARY) ${mbedtls_static_target}) endif() +set(p256m_target "${MBEDTLS_TARGET_PREFIX}p256m") +set(everest_target "${MBEDTLS_TARGET_PREFIX}everest") + if(USE_STATIC_MBEDTLS_LIBRARY) add_library(${mbedcrypto_static_target} STATIC ${src_crypto}) set_target_properties(${mbedcrypto_static_target} PROPERTIES OUTPUT_NAME mbedcrypto) target_link_libraries(${mbedcrypto_static_target} PUBLIC ${libs}) - if(TARGET everest) - target_link_libraries(${mbedcrypto_static_target} PUBLIC everest) + if(TARGET ${everest_target}) + target_link_libraries(${mbedcrypto_static_target} PUBLIC ${everest_target}) endif() - if(TARGET p256m) - target_link_libraries(${mbedcrypto_static_target} PUBLIC p256m) + if(TARGET ${p256m_target}) + target_link_libraries(${mbedcrypto_static_target} PUBLIC ${p256m_target}) endif() add_library(${mbedx509_static_target} STATIC ${src_x509}) @@ -296,12 +299,12 @@ if(USE_SHARED_MBEDTLS_LIBRARY) set_target_properties(${mbedcrypto_target} PROPERTIES VERSION 3.4.1 SOVERSION 14) target_link_libraries(${mbedcrypto_target} PUBLIC ${libs}) - if(TARGET everest) - target_link_libraries(${mbedcrypto_target} PUBLIC everest) + if(TARGET ${everest_target}) + target_link_libraries(${mbedcrypto_target} PUBLIC ${everest_target}) endif() - if(TARGET p256m) - target_link_libraries(${mbedcrypto_target} PUBLIC p256m) + if(TARGET ${p256m_target}) + target_link_libraries(${mbedcrypto_target} PUBLIC ${p256m_target}) endif() add_library(${mbedx509_target} SHARED ${src_x509})