mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-10-24 13:32:59 +03:00
cmake: library: Add custom targets for generated files
Add a custom target that depends on crypto generated files, and make both the static and shared crypto libraries depend on it. This ensures that when both libraries are built, the files are not generated concurrently by the static and shared library targets. Do the same for the TLS libraries. Signed-off-by: Ronald Cron <ronald.cron@arm.com>
This commit is contained in:
@@ -187,6 +187,19 @@ if(GEN_FILES)
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja
|
${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/driver_templates/psa_crypto_driver_wrappers_no_static.c.jinja
|
${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files/driver_templates/psa_crypto_driver_wrappers_no_static.c.jinja
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_custom_target(${MBEDTLS_TARGET_PREFIX}mbedcrypto_generated_files_target
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/error.c
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/version_features.c
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/psa_crypto_driver_wrappers.h
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/psa_crypto_driver_wrappers_no_static.c
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(${MBEDTLS_TARGET_PREFIX}mbedtls_generated_files_target
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/ssl_debug_helpers_generated.c
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
@@ -288,6 +301,13 @@ if(USE_STATIC_MBEDTLS_LIBRARY)
|
|||||||
add_library(${mbedtls_static_target} STATIC ${src_tls})
|
add_library(${mbedtls_static_target} STATIC ${src_tls})
|
||||||
set_target_properties(${mbedtls_static_target} PROPERTIES OUTPUT_NAME mbedtls)
|
set_target_properties(${mbedtls_static_target} PROPERTIES OUTPUT_NAME mbedtls)
|
||||||
target_link_libraries(${mbedtls_static_target} PUBLIC ${libs} ${mbedx509_static_target})
|
target_link_libraries(${mbedtls_static_target} PUBLIC ${libs} ${mbedx509_static_target})
|
||||||
|
|
||||||
|
if(GEN_FILES)
|
||||||
|
add_dependencies(${mbedcrypto_static_target}
|
||||||
|
${MBEDTLS_TARGET_PREFIX}mbedcrypto_generated_files_target)
|
||||||
|
add_dependencies(${mbedtls_static_target}
|
||||||
|
${MBEDTLS_TARGET_PREFIX}mbedtls_generated_files_target)
|
||||||
|
endif()
|
||||||
endif(USE_STATIC_MBEDTLS_LIBRARY)
|
endif(USE_STATIC_MBEDTLS_LIBRARY)
|
||||||
|
|
||||||
if(USE_SHARED_MBEDTLS_LIBRARY)
|
if(USE_SHARED_MBEDTLS_LIBRARY)
|
||||||
@@ -311,6 +331,13 @@ if(USE_SHARED_MBEDTLS_LIBRARY)
|
|||||||
add_library(${mbedtls_target} SHARED ${src_tls})
|
add_library(${mbedtls_target} SHARED ${src_tls})
|
||||||
set_target_properties(${mbedtls_target} PROPERTIES VERSION 3.6.3 SOVERSION 21)
|
set_target_properties(${mbedtls_target} PROPERTIES VERSION 3.6.3 SOVERSION 21)
|
||||||
target_link_libraries(${mbedtls_target} PUBLIC ${libs} ${mbedx509_target})
|
target_link_libraries(${mbedtls_target} PUBLIC ${libs} ${mbedx509_target})
|
||||||
|
|
||||||
|
if(GEN_FILES)
|
||||||
|
add_dependencies(${mbedcrypto_target}
|
||||||
|
${MBEDTLS_TARGET_PREFIX}mbedcrypto_generated_files_target)
|
||||||
|
add_dependencies(${mbedtls_target}
|
||||||
|
${MBEDTLS_TARGET_PREFIX}mbedtls_generated_files_target)
|
||||||
|
endif()
|
||||||
endif(USE_SHARED_MBEDTLS_LIBRARY)
|
endif(USE_SHARED_MBEDTLS_LIBRARY)
|
||||||
|
|
||||||
foreach(target IN LISTS target_libraries)
|
foreach(target IN LISTS target_libraries)
|
||||||
|
|||||||
Reference in New Issue
Block a user