From 88f196f1a97073b9428d02b16f751af843dfd3ca Mon Sep 17 00:00:00 2001 From: click Date: Thu, 14 Oct 2010 22:48:55 +0200 Subject: BuildSystem: Cache results from when pulling the revision-information to avoid regenerating revision.h (should remove the unneeded rebuilding of some core-files due to that the revision.h file has changed timestamp-wise) --HG-- branch : trunk --- cmake/genrev.cmake | 14 +++++++++----- src/genrev/CMakeLists.txt | 1 - 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cmake/genrev.cmake b/cmake/genrev.cmake index 9fe49139717..29d95b4f8ff 100644 --- a/cmake/genrev.cmake +++ b/cmake/genrev.cmake @@ -62,8 +62,12 @@ if(NOT BUILDDIR) endif() # Create the actual revision.h file from the above params -configure_file( - "${CMAKE_SOURCE_DIR}/revision.h.in.cmake" - "${BUILDDIR}/revision.h" - @ONLY -) + +if(NOT hg_rev_id MATCHES "${hg_rev_id_cached}") + configure_file( + "${CMAKE_SOURCE_DIR}/revision.h.in.cmake" + "${BUILDDIR}/revision.h" + @ONLY + ) + set(hg_rev_id_cached ${hg_rev_id} CACHE TYPE STRING) +endif() diff --git a/src/genrev/CMakeLists.txt b/src/genrev/CMakeLists.txt index bcc874fbd80..316ed5b8580 100644 --- a/src/genrev/CMakeLists.txt +++ b/src/genrev/CMakeLists.txt @@ -10,7 +10,6 @@ # Need to pass old ${CMAKE_BINARY_DIR} as param because its different at build stage add_custom_target(revision.h ALL - COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/revision.h COMMAND ${CMAKE_COMMAND} -DBUILDDIR=${CMAKE_BINARY_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/genrev.cmake WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) -- cgit v1.2.3