cmake: Install libmbedcrypto.* libraries
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 45e6f64..0cc654d 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -267,6 +267,10 @@
$<TARGET_FILE:${target}>
"libmbedcrypto.a"
)
+ install(FILES $<TARGET_FILE:${target}>
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RENAME "libmbedcrypto.a"
+ )
else()
# Copy the crypto shared library from tf-psa-crypto:
# - ".so.<VERSION>" on Unix
@@ -296,7 +300,11 @@
COMMAND ${CMAKE_COMMAND} -E create_symlink
$<TARGET_FILE_NAME:${target}>
libmbedcrypto.dylib
- )
+ )
+ install(FILES $<TARGET_FILE:${target}>
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RENAME "libmbedcrypto.dylib"
+ )
elseif(WIN32 AND NOT CYGWIN)
add_custom_command(
TARGET ${mbedtls_target} POST_BUILD
@@ -313,6 +321,14 @@
$<TARGET_LINKER_FILE:${target}>
libmbedcrypto.lib
)
+ install(FILES $<TARGET_FILE:${target}>
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
+ RENAME "libmbedcrypto.dll"
+ )
+ install(FILES $<TARGET_LINKER_FILE:${target}>
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RENAME "libmbedcrypto.lib"
+ )
else()
add_custom_command(
TARGET ${mbedtls_target} POST_BUILD
@@ -332,6 +348,20 @@
libmbedcrypto.so.${MBEDTLS_CRYPTO_SOVERSION}
libmbedcrypto.so
)
+ install(FILES $<TARGET_FILE:${target}>
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RENAME "libmbedcrypto.so.${MBEDTLS_VERSION}"
+ )
+ install(CODE "
+ set(_libdir \"\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\")
+
+ execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink
+ \"libmbedcrypto.so.${MBEDTLS_VERSION}\"
+ \${_libdir}/libmbedcrypto.so.${MBEDTLS_CRYPTO_SOVERSION})
+ execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink
+ \"libmbedcrypto.so.${MBEDTLS_CRYPTO_SOVERSION}\"
+ \${_libdir}/libmbedcrypto.so)
+ ")
endif()
endif()
endforeach(target)
diff --git a/programs/test/cmake_package_install/CMakeLists.txt b/programs/test/cmake_package_install/CMakeLists.txt
index 60a4481..723538f 100644
--- a/programs/test/cmake_package_install/CMakeLists.txt
+++ b/programs/test/cmake_package_install/CMakeLists.txt
@@ -17,6 +17,7 @@
"-DENABLE_TESTING=NO"
# Turn on generated files explicitly in case this is a release
"-DGEN_FILES=ON"
+ "-DUSE_SHARED_MBEDTLS_LIBRARY=ON"
"-DCMAKE_INSTALL_PREFIX=${MbedTLS_INSTALL_DIR}")
execute_process(
diff --git a/tests/scripts/components-build-system.sh b/tests/scripts/components-build-system.sh
index e533cdf..9a277e3 100644
--- a/tests/scripts/components-build-system.sh
+++ b/tests/scripts/components-build-system.sh
@@ -138,6 +138,16 @@
cd programs/test/cmake_package_install
cmake .
make
+
+ if ! cmp -s "mbedtls/lib/libtfpsacrypto.a" "mbedtls/lib/libmbedcrypto.a"; then
+ echo "Error: Crypto static libraries are different or one of them is missing/unreadable." >&2
+ exit 1
+ fi
+ if ! cmp -s "mbedtls/lib/libtfpsacrypto.so" "mbedtls/lib/libmbedcrypto.so"; then
+ echo "Error: Crypto shared libraries are different or one of them is missing/unreadable." >&2
+ exit 1
+ fi
+
./cmake_package_install
}