From 57ca5702fd4f16dca11438e8229c30b2f9e74232 Mon Sep 17 00:00:00 2001
From: Paul Bakker
Date: Fri, 7 Mar 2014 10:33:55 +0100
Subject: [PATCH] Fixed CMake symlinking on out-of-source builds
---
ChangeLog | 1 +
tests/CMakeLists.txt | 22 ++++++++++++----------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7cc8c40ab..b39681987 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -20,6 +20,7 @@ Bugfix
* Fix bug in RSA PKCS#1 v1.5 "reversed" operations
* Fixed testing with out-of-source builds using cmake
* Fixed version-major intolerance in server
+ * Fixed CMake symlinking on out-of-source builds
= Version 1.2.10 released 2013-10-07
Changes
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index c6b908ddc..d6d200e5f 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -76,18 +76,20 @@ if (NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
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()
+ if (NOT EXISTS ${link})
+ 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)
+ 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}")
+ if (NOT ${result} EQUAL 0)
+ message(FATAL_ERROR "Could not create symbolic link for: ${target} --> ${output}")
+ endif()
endif()
endif()