From 46e51018d563e856d9001eae1a808adec8ddd81c Mon Sep 17 00:00:00 2001 From: Kornel Benko Date: Wed, 9 Jan 2013 16:31:45 +0100 Subject: [PATCH] Cmake build: Correct creation of lyx_date.h because of not defined behaviour cmake command copy_if_different in case, the destination is not present --- development/cmake/scripts/LyXGetVersion.cmake | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/development/cmake/scripts/LyXGetVersion.cmake b/development/cmake/scripts/LyXGetVersion.cmake index d2f5a4b2ce..bc261eecfb 100644 --- a/development/cmake/scripts/LyXGetVersion.cmake +++ b/development/cmake/scripts/LyXGetVersion.cmake @@ -46,9 +46,24 @@ if(LYX_GITVERSION) endif() endif() -configure_file(${TOP_CMAKE_PATH}/lyx_date.h.cmake ${TOP_BINARY_DIR}/lyx_date.tmp) -EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${TOP_BINARY_DIR}/lyx_date.tmp ${TOP_BINARY_DIR}/lyx_date.h - COMMAND ${CMAKE_COMMAND} -E remove ${TOP_BINARY_DIR}/lyx_date.tmp -) +if(NOT EXISTS ${TOP_BINARY_DIR}/lyx_date.h) + configure_file(${TOP_CMAKE_PATH}/lyx_date.h.cmake ${TOP_BINARY_DIR}/lyx_date.h) +else() + configure_file(${TOP_CMAKE_PATH}/lyx_date.h.cmake ${TOP_BINARY_DIR}/lyx_date.tmp) + message(STATUS "Created ${TOP_BINARY_DIR}/lyx_date.tmp") + + EXECUTE_PROCESS( + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${TOP_BINARY_DIR}/lyx_date.tmp ${TOP_BINARY_DIR}/lyx_date.h + ERROR_VARIABLE copy_err + ) + + if(copy_err) + message(FATAL_ERROR "${CMAKE_COMMAND} -E ${copy_command} not working") + endif() + + EXECUTE_PROCESS( + COMMAND ${CMAKE_COMMAND} -E remove ${TOP_BINARY_DIR}/lyx_date.tmp + ) +endif() + -- 2.39.2