From cd6d69a414711be7a66f676f685aab007592dbbc Mon Sep 17 00:00:00 2001 From: Paul Bakker Date: Thu, 6 Feb 2014 15:43:21 +0100 Subject: [PATCH] Fixed testing with out-of-source builds using cmake --- ChangeLog | 1 + tests/CMakeLists.txt | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3c26b017c..baf67fee3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22,6 +22,7 @@ Bugfix statistics * Fix buf in RSA PKCS#1 v1.5 "reversed" operations * Threading in x509_crt depended on PTHREAD instead of generic + * Fixed testing with out-of-source builds using cmake = PolarSSL 1.3.4 released on 2014-01-27 Features diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index cf05bce87..00e15e531 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -83,3 +83,25 @@ add_test_suite(version) add_test_suite(xtea) add_test_suite(x509parse) add_test_suite(x509write) + +# Make data_files available in an out-of-source build +if (NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) + # Get OS dependent path to use in `execute_process` + file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/data_files" link) + file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/data_files" target) + + if (UNIX) + set(command ln -s ${target} ${link}) + else() + set(command cmd.exe /c mklink ${link} ${target}) + endif() + + execute_process(COMMAND ${command} + RESULT_VARIABLE result + ERROR_VARIABLE output) + + if (NOT ${result} EQUAL 0) + message(FATAL_ERROR "Could not create symbolic link for: ${target} --> ${output}") + endif() +endif() +