diff --git a/CMakeLists.txt b/CMakeLists.txt
index 766f5017ca..c9912cd063 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,6 +67,9 @@ endif()
# Set the project and framework root directory.
set(MBEDTLS_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(MBEDTLS_FRAMEWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/framework)
+if(NOT DEFINED TF_PSA_CRYPTO_DIR)
+ set(TF_PSA_CRYPTO_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto)
+endif()
option(ENABLE_PROGRAMS "Build Mbed TLS programs." ON)
@@ -349,7 +352,7 @@ set(TF_PSA_CRYPTO_TARGET_PREFIX ${MBEDTLS_TARGET_PREFIX} CACHE STRING "")
set(TF_PSA_CRYPTO_FATAL_WARNINGS ${MBEDTLS_FATAL_WARNINGS} CACHE BOOL "")
set(USE_STATIC_TF_PSA_CRYPTO_LIBRARY ${USE_STATIC_MBEDTLS_LIBRARY} CACHE BOOL "")
set(USE_SHARED_TF_PSA_CRYPTO_LIBRARY ${USE_SHARED_MBEDTLS_LIBRARY} CACHE BOOL "")
-add_subdirectory(tf-psa-crypto)
+add_subdirectory(${TF_PSA_CRYPTO_DIR} tf-psa-crypto)
set(tfpsacrypto_target "${TF_PSA_CRYPTO_TARGET_PREFIX}tfpsacrypto")
if (USE_STATIC_MBEDTLS_LIBRARY)
@@ -379,12 +382,12 @@ endforeach(target)
# empty.
#
set(TF_PSA_CRYPTO_PRIVATE_INCLUDE_DIRS
- ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/core
- ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/dispatch
- ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/drivers/builtin/src
- ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/extras
- ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/platform
- ${CMAKE_CURRENT_SOURCE_DIR}/tf-psa-crypto/utilities
+ ${TF_PSA_CRYPTO_DIR}/core
+ ${TF_PSA_CRYPTO_DIR}/dispatch
+ ${TF_PSA_CRYPTO_DIR}/drivers/builtin/src
+ ${TF_PSA_CRYPTO_DIR}/extras
+ ${TF_PSA_CRYPTO_DIR}/platform
+ ${TF_PSA_CRYPTO_DIR}/utilities
)
add_subdirectory(library)
@@ -433,10 +436,10 @@ if(ENABLE_TESTING OR ENABLE_PROGRAMS)
${MBEDTLS_FRAMEWORK_DIR}/tests/include
tests/include
include
- tf-psa-crypto/include
- tf-psa-crypto/drivers/builtin/include
- tf-psa-crypto/drivers/everest/include
- tf-psa-crypto/drivers/pqcp/include
+ ${TF_PSA_CRYPTO_DIR}/include
+ ${TF_PSA_CRYPTO_DIR}/drivers/builtin/include
+ ${TF_PSA_CRYPTO_DIR}/drivers/everest/include
+ ${TF_PSA_CRYPTO_DIR}/drivers/pqcp/include
library
${TF_PSA_CRYPTO_PRIVATE_INCLUDE_DIRS}
)
@@ -470,11 +473,11 @@ if(ENABLE_TESTING OR ENABLE_PROGRAMS)
${MBEDTLS_FRAMEWORK_DIR}/tests/include
tests/include
include
- tf-psa-crypto/include
- tf-psa-crypto/drivers/builtin/include
+ ${TF_PSA_CRYPTO_DIR}/include
+ ${TF_PSA_CRYPTO_DIR}/drivers/builtin/include
library
- tf-psa-crypto/drivers/everest/include
- tf-psa-crypto/drivers/pqcp/include
+ ${TF_PSA_CRYPTO_DIR}/drivers/everest/include
+ ${TF_PSA_CRYPTO_DIR}/drivers/pqcp/include
${TF_PSA_CRYPTO_PRIVATE_INCLUDE_DIRS}
)
diff --git a/doxygen/mbedtls.doxyfile.in b/doxygen/mbedtls.doxyfile.in
index e52790af6b..fed5b31b72 100644
--- a/doxygen/mbedtls.doxyfile.in
+++ b/doxygen/mbedtls.doxyfile.in
@@ -6,9 +6,9 @@ EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
CASE_SENSE_NAMES = NO
-INPUT = ../include input ../tf-psa-crypto/include ../tests/include/alt-dummy
+INPUT = "@CMAKE_CURRENT_LIST_DIR@/include" "@CMAKE_CURRENT_LIST_DIR@/doxygen/input" "@TF_PSA_CRYPTO_DIR@/include" "@CMAKE_CURRENT_LIST_DIR@/tests/include/alt-dummy"
FILE_PATTERNS = *.h
-EXCLUDE = ../tf-psa-crypto/include/mbedtls/private
+EXCLUDE = "../@TF_PSA_CRYPTO_DIR@/include/mbedtls/private"
RECURSIVE = YES
EXCLUDE_SYMLINKS = YES
SOURCE_BROWSER = YES
@@ -22,7 +22,7 @@ GENERATE_LATEX = NO
GENERATE_XML = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
-INCLUDE_PATH = ../include ../tf-psa-crypto/include ../tf-psa-crypto/drivers/builtin/include
+INCLUDE_PATH = "@CMAKE_CURRENT_LIST_DIR@/include" "@TF_PSA_CRYPTO_DIR@/include" "@TF_PSA_CRYPTO_DIR@/drivers/builtin/include"
EXPAND_AS_DEFINED = MBEDTLS_PRIVATE
CLASS_DIAGRAMS = NO
HAVE_DOT = YES
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 5436a96d42..b35355bdf2 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -48,7 +48,7 @@ if(GEN_FILES)
COMMAND
${PERL_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}/../scripts/generate_errors.pl
- ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/drivers/builtin/include/mbedtls
+ ${TF_PSA_CRYPTO_DIR}/drivers/builtin/include/mbedtls
${CMAKE_CURRENT_SOURCE_DIR}/../include/mbedtls
${CMAKE_CURRENT_SOURCE_DIR}/../scripts/data_files
${CMAKE_CURRENT_BINARY_DIR}/${TF_PSA_CRYPTO_DRIVERS_BUILTIN_SRC_DIR}/error.c
@@ -234,13 +234,13 @@ endif(USE_SHARED_MBEDTLS_LIBRARY)
foreach(target IN LISTS target_libraries)
add_library(MbedTLS::${target} ALIAS ${target}) # add_subdirectory support
- # Include public header files from /include, /tf-psa-crypto/include/ and
- # tf-psa-crypto/drivers/builtin/include/. Include private header files
+ # Include public header files from /include, ${TF_PSA_CRYPTO_DIR}/include/ and
+ # ${TF_PSA_CRYPTO_DIR}/drivers/builtin/include/. Include private header files
# from /library and ${TF_PSA_CRYPTO_PRIVATE_INCLUDE_DIRS}.
target_include_directories(${target}
PUBLIC $
- $
- $
+ $
+ $
$
PRIVATE ${MBEDTLS_DIR}/library/
${TF_PSA_CRYPTO_PRIVATE_INCLUDE_DIRS}
diff --git a/programs/fuzz/CMakeLists.txt b/programs/fuzz/CMakeLists.txt
index d5995aa194..e4a8fba28a 100644
--- a/programs/fuzz/CMakeLists.txt
+++ b/programs/fuzz/CMakeLists.txt
@@ -31,19 +31,19 @@ foreach(exe IN LISTS executables_no_common_c executables_with_common_c)
$
$)
if(NOT FUZZINGENGINE_LIB)
- list(APPEND exe_sources ${MBEDTLS_DIR}/tf-psa-crypto/programs/fuzz/fuzz_onefile.c)
+ list(APPEND exe_sources ${TF_PSA_CRYPTO_DIR}/programs/fuzz/fuzz_onefile.c)
endif()
# This emulates "if ( ... IN_LIST ... )" which becomes available in CMake 3.3
list(FIND executables_with_common_c ${exe} exe_index)
if(${exe_index} GREATER -1)
- list(APPEND exe_sources ${MBEDTLS_DIR}/tf-psa-crypto/programs/fuzz/fuzz_common.c)
+ list(APPEND exe_sources ${TF_PSA_CRYPTO_DIR}/programs/fuzz/fuzz_common.c)
endif()
add_executable(${exe} ${exe_sources})
set_base_compile_options(${exe})
target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../framework/tests/include
- ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/programs/fuzz/
+ ${TF_PSA_CRYPTO_DIR}/programs/fuzz/
${CMAKE_CURRENT_SOURCE_DIR}/../../tests/include)
if (NOT FUZZINGENGINE_LIB)
diff --git a/programs/test/CMakeLists.txt b/programs/test/CMakeLists.txt
index 0de71a9b03..d9665124e9 100644
--- a/programs/test/CMakeLists.txt
+++ b/programs/test/CMakeLists.txt
@@ -27,8 +27,8 @@ if(TEST_CPP)
set_base_compile_options(cpp_dummy_build)
target_include_directories(cpp_dummy_build
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include
- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/include
- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/drivers/builtin/include)
+ PRIVATE ${TF_PSA_CRYPTO_DIR}/include
+ PRIVATE ${TF_PSA_CRYPTO_DIR}/drivers/builtin/include)
target_link_libraries(cpp_dummy_build ${tfpsacrypto_target} ${CMAKE_THREAD_LIBS_INIT})
endif()
@@ -38,8 +38,8 @@ if(USE_SHARED_MBEDTLS_LIBRARY AND
set_base_compile_options(dlopen)
target_include_directories(dlopen
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include
- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/include
- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/drivers/builtin/include)
+ PRIVATE ${TF_PSA_CRYPTO_DIR}/include
+ PRIVATE ${TF_PSA_CRYPTO_DIR}/drivers/builtin/include)
target_link_libraries(dlopen ${CMAKE_DL_LIBS})
endif()
@@ -53,14 +53,14 @@ if(GEN_FILES)
${PERL}
${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/generate_query_config.pl
${CMAKE_CURRENT_SOURCE_DIR}/../../include/mbedtls/mbedtls_config.h
- ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/include/psa/crypto_config.h
+ ${TF_PSA_CRYPTO_DIR}/include/psa/crypto_config.h
${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/data_files/query_config.fmt
${CMAKE_CURRENT_BINARY_DIR}/query_config.c
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../..
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/generate_query_config.pl
${CMAKE_CURRENT_SOURCE_DIR}/../../include/mbedtls/mbedtls_config.h
- ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/include/psa/crypto_config.h
+ ${TF_PSA_CRYPTO_DIR}/include/psa/crypto_config.h
${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/data_files/query_config.fmt
)
# this file will also be used in another directory, so create a target, see
@@ -92,7 +92,7 @@ foreach(exe IN LISTS executables)
${MBEDTLS_FRAMEWORK_DIR}/tests/programs)
target_include_directories(${exe}
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../library
- ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/core)
+ ${TF_PSA_CRYPTO_DIR}/core)
if(exe STREQUAL "query_compile_time_config")
target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
endif()
@@ -103,8 +103,8 @@ foreach(exe IN LISTS executables)
endforeach()
target_include_directories(metatest
- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/drivers/builtin/src
- ${CMAKE_CURRENT_SOURCE_DIR}/../../tf-psa-crypto/platform
+ PRIVATE ${TF_PSA_CRYPTO_DIR}/drivers/builtin/src
+ ${TF_PSA_CRYPTO_DIR}/platform
)
install(TARGETS ${executables}
DESTINATION "bin"
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 09913b56e7..efd4345f82 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -147,18 +147,18 @@ function(add_test_suite suite_name)
${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_code.py
-f ${CMAKE_CURRENT_SOURCE_DIR}/suites/test_suite_${suite_name}.function
-d ${data_file}
- -t ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/main_test.function
- -p ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/host_test.function
+ -t ${TF_PSA_CRYPTO_DIR}/tests/suites/main_test.function
+ -p ${TF_PSA_CRYPTO_DIR}/tests/suites/host_test.function
-s ${CMAKE_CURRENT_SOURCE_DIR}/suites
- --helpers-file ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/helpers.function
+ --helpers-file ${TF_PSA_CRYPTO_DIR}/tests/suites/helpers.function
-o .
DEPENDS
${MBEDTLS_FRAMEWORK_DIR}/scripts/generate_test_code.py
${CMAKE_CURRENT_SOURCE_DIR}/suites/test_suite_${suite_name}.function
${data_file}
- ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/main_test.function
- ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/host_test.function
- ${CMAKE_CURRENT_SOURCE_DIR}/../tf-psa-crypto/tests/suites/helpers.function
+ ${TF_PSA_CRYPTO_DIR}/tests/suites/main_test.function
+ ${TF_PSA_CRYPTO_DIR}/tests/suites/host_test.function
+ ${TF_PSA_CRYPTO_DIR}/tests/suites/helpers.function
${mbedtls_target}
BYPRODUCTS
test_suite_${data_name}.datax