]> git.lyx.org Git - lyx.git/commitdiff
Cmake build: Correct creation of lyx_date.h because of
authorKornel Benko <kornel@lyx.org>
Wed, 9 Jan 2013 15:31:45 +0000 (16:31 +0100)
committerKornel Benko <kornel@lyx.org>
Wed, 9 Jan 2013 15:31:45 +0000 (16:31 +0100)
not defined behaviour cmake command copy_if_different
in case, the destination is not present

development/cmake/scripts/LyXGetVersion.cmake

index d2f5a4b2cec2708c95af1c1adaba1bbe58bc3774..bc261eecfb70a26b2f6cd052ec4c183641764e2e 100644 (file)
@@ -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()
+