From 211bf6de21268419cf6393d88967aac23f37404a Mon Sep 17 00:00:00 2001 From: Ronald Cron Date: Wed, 23 Oct 2024 14:22:03 +0200 Subject: [PATCH] cmake: Fix config files compile definitions Signed-off-by: Ronald Cron --- CMakeLists.txt | 36 +++++++++++++------- library/CMakeLists.txt | 10 +----- tf-psa-crypto/TF-PSA-Crypto.cmake | 32 +++++++++++------ tf-psa-crypto/core/CMakeLists.txt | 10 +----- tf-psa-crypto/drivers/builtin/CMakeLists.txt | 14 +------- tf-psa-crypto/drivers/everest/CMakeLists.txt | 14 +------- tf-psa-crypto/drivers/p256-m/CMakeLists.txt | 14 +------- 7 files changed, 50 insertions(+), 80 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a7f92f5683..86b0ffa414 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -328,6 +328,27 @@ function(set_msvc_base_compile_options target) endif(MBEDTLS_FATAL_WARNINGS) endfunction(set_msvc_base_compile_options) +function(set_config_files_compile_definitions target) + # Pass-through MBEDTLS_CONFIG_FILE, MBEDTLS_USER_CONFIG_FILE, + # MBEDTLS_PSA_CRYPTO_CONFIG_FILE and MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE + if(MBEDTLS_CONFIG_FILE) + target_compile_definitions(${target} + PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") + endif() + if(MBEDTLS_USER_CONFIG_FILE) + target_compile_definitions(${target} + PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") + endif() + if(MBEDTLS_PSA_CRYPTO_CONFIG_FILE) + target_compile_definitions(${target} + PUBLIC MBEDTLS_PSA_CRYPTO_CONFIG_FILE="${MBEDTLS_PSA_CRYPTO_CONFIG_FILE}") + endif() + if(MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE) + target_compile_definitions(${target} + PUBLIC MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE="${MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE}") + endif() +endfunction(set_config_files_compile_definitions) + if(CMAKE_BUILD_TYPE STREQUAL "Check" AND TEST_CPP) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -431,19 +452,8 @@ if(ENABLE_TESTING OR ENABLE_PROGRAMS) PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/drivers/builtin/src PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/drivers/everest/include) - # Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE - if(MBEDTLS_CONFIG_FILE) - target_compile_definitions(mbedtls_test - PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") - target_compile_definitions(mbedtls_test_helpers - PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") - endif() - if(MBEDTLS_USER_CONFIG_FILE) - target_compile_definitions(mbedtls_test - PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") - target_compile_definitions(mbedtls_test_helpers - PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") - endif() + set_config_files_compile_definitions(mbedtls_test) + set_config_files_compile_definitions(mbedtls_test_helpers) endif() if(ENABLE_PROGRAMS) diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt index 1e09d31c57..389302abb7 100644 --- a/library/CMakeLists.txt +++ b/library/CMakeLists.txt @@ -192,15 +192,7 @@ foreach(target IN LISTS target_libraries) PRIVATE ${MBEDTLS_DIR}/library/ ${MBEDTLS_DIR}/tf-psa-crypto/core ${MBEDTLS_DIR}/tf-psa-crypto/drivers/builtin/src) - # Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE - if(MBEDTLS_CONFIG_FILE) - target_compile_definitions(${target} - PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") - endif() - if(MBEDTLS_USER_CONFIG_FILE) - target_compile_definitions(${target} - PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") - endif() + set_config_files_compile_definitions(${target}) install( TARGETS ${target} EXPORT MbedTLSTargets diff --git a/tf-psa-crypto/TF-PSA-Crypto.cmake b/tf-psa-crypto/TF-PSA-Crypto.cmake index 13b7a45bf0..986d3fd2d7 100644 --- a/tf-psa-crypto/TF-PSA-Crypto.cmake +++ b/tf-psa-crypto/TF-PSA-Crypto.cmake @@ -293,6 +293,27 @@ function(set_msvc_base_compile_options target) endif(MBEDTLS_FATAL_WARNINGS) endfunction(set_msvc_base_compile_options) +function(set_config_files_compile_definitions target) + # Pass-through MBEDTLS_CONFIG_FILE, MBEDTLS_USER_CONFIG_FILE, + # MBEDTLS_PSA_CRYPTO_CONFIG_FILE and MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE + if(MBEDTLS_CONFIG_FILE) + target_compile_definitions(${target} + PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") + endif() + if(MBEDTLS_USER_CONFIG_FILE) + target_compile_definitions(${target} + PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") + endif() + if(MBEDTLS_PSA_CRYPTO_CONFIG_FILE) + target_compile_definitions(${target} + PUBLIC MBEDTLS_PSA_CRYPTO_CONFIG_FILE="${MBEDTLS_PSA_CRYPTO_CONFIG_FILE}") + endif() + if(MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE) + target_compile_definitions(${target} + PUBLIC MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE="${MBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE}") + endif() +endfunction(set_config_files_compile_definitions) + if(CMAKE_BUILD_TYPE STREQUAL "Check" AND TEST_CPP) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -372,16 +393,7 @@ if(ENABLE_TESTING OR ENABLE_PROGRAMS) PRIVATE drivers/builtin/src) # Request C11, needed for memory poisoning tests set_target_properties(mbedtls_test PROPERTIES C_STANDARD 11) - - # Pass-through TF_PSA_CRYPTO_CONFIG_FILE and TF_PSA_CRYPTO_USER_CONFIG_FILE - if(TF_PSA_CRYPTO_CONFIG_FILE) - target_compile_definitions(mbedtls_test - PUBLIC TF_PSA_CRYPTO_CONFIG_FILE="${TF_PSA_CRYPTO_CONFIG_FILE}") - endif() - if(TF_PSA_CRYPTO_USER_CONFIG_FILE) - target_compile_definitions(mbedtls_test - PUBLIC TF_PSA_CRYPTO_USER_CONFIG_FILE="${TF_PSA_CRYPTO_USER_CONFIG_FILE}") - endif() + set_config_files_compile_definitions(mbedtls_test) endif() if(ENABLE_PROGRAMS) diff --git a/tf-psa-crypto/core/CMakeLists.txt b/tf-psa-crypto/core/CMakeLists.txt index 1264acf33e..6757d6af1b 100644 --- a/tf-psa-crypto/core/CMakeLists.txt +++ b/tf-psa-crypto/core/CMakeLists.txt @@ -140,15 +140,7 @@ foreach(target IN LISTS target_libraries) ${TF_PSA_CRYPTO_DIR}/drivers/builtin/src # Needed to include psa_crypto_driver_wrappers.h ${CMAKE_CURRENT_BINARY_DIR}) - # Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE - if(MBEDTLS_CONFIG_FILE) - target_compile_definitions(${target} - PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") - endif() - if(MBEDTLS_USER_CONFIG_FILE) - target_compile_definitions(${target} - PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") - endif() + set_config_files_compile_definitions(${target}) install( TARGETS ${target} EXPORT MbedTLSTargets diff --git a/tf-psa-crypto/drivers/builtin/CMakeLists.txt b/tf-psa-crypto/drivers/builtin/CMakeLists.txt index dd1a1130fe..cbade1049d 100644 --- a/tf-psa-crypto/drivers/builtin/CMakeLists.txt +++ b/tf-psa-crypto/drivers/builtin/CMakeLists.txt @@ -87,19 +87,7 @@ foreach (target IN LISTS target_libraries) $ $ PRIVATE ${TF_PSA_CRYPTO_DIR}/core) - - # Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE - # This must be duplicated from library/CMakeLists.txt because - # everest is not directly linked against any mbedtls targets - # so does not inherit the compile definitions. - if(MBEDTLS_CONFIG_FILE) - target_compile_definitions(${target} - PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") - endif() - if(MBEDTLS_USER_CONFIG_FILE) - target_compile_definitions(${target} - PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") - endif() + set_config_files_compile_definitions(${target}) if(INSTALL_TF_PSA_CRYPTO_HEADERS) diff --git a/tf-psa-crypto/drivers/everest/CMakeLists.txt b/tf-psa-crypto/drivers/everest/CMakeLists.txt index 5671200387..395d6acf42 100644 --- a/tf-psa-crypto/drivers/everest/CMakeLists.txt +++ b/tf-psa-crypto/drivers/everest/CMakeLists.txt @@ -16,19 +16,7 @@ target_include_directories(${everest_target} include/everest/kremlib ${MBEDTLS_DIR}/library ${TF_PSA_CRYPTO_DIR}/core) - -# Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE -# This must be duplicated from library/CMakeLists.txt because -# everest is not directly linked against any mbedtls targets -# so does not inherit the compile definitions. -if(MBEDTLS_CONFIG_FILE) - target_compile_definitions(${everest_target} - PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") -endif() -if(MBEDTLS_USER_CONFIG_FILE) - target_compile_definitions(${everest_target} - PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") -endif() +set_config_files_compile_definitions(${everest_target}) if(INSTALL_TF_PSA_CRYPTO_HEADERS) diff --git a/tf-psa-crypto/drivers/p256-m/CMakeLists.txt b/tf-psa-crypto/drivers/p256-m/CMakeLists.txt index ae44123ca9..566cb68b67 100644 --- a/tf-psa-crypto/drivers/p256-m/CMakeLists.txt +++ b/tf-psa-crypto/drivers/p256-m/CMakeLists.txt @@ -16,19 +16,7 @@ target_include_directories(${p256m_target} $ PRIVATE ${MBEDTLS_DIR}/library/ ${TF_PSA_CRYPTO_DIR}/core) - -# Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE -# This must be duplicated from library/CMakeLists.txt because -# p256m is not directly linked against any mbedtls targets -# so does not inherit the compile definitions. -if(MBEDTLS_CONFIG_FILE) - target_compile_definitions(${p256m_target} - PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") -endif() -if(MBEDTLS_USER_CONFIG_FILE) - target_compile_definitions(${p256m_target} - PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") -endif() +set_config_files_compile_definitions(${p256m_target}) if(INSTALL_TF_PSA_CRYPTO_HEADERS)