aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/genrev.cmake31
1 files changed, 9 insertions, 22 deletions
diff --git a/cmake/genrev.cmake b/cmake/genrev.cmake
index b3fb4aade2a..14a4fa26a50 100644
--- a/cmake/genrev.cmake
+++ b/cmake/genrev.cmake
@@ -9,7 +9,8 @@
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
execute_process(
- COMMAND hg id -n
+ COMMAND git log --pretty=format:"" origin/HEAD
+ COMMAND wc -l
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE rev_id_str
OUTPUT_STRIP_TRAILING_WHITESPACE
@@ -17,28 +18,15 @@ execute_process(
)
execute_process(
- COMMAND hg id -i
+ COMMAND git rev-parse --short=12 HEAD
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE rev_hash_str
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
-if(EXISTS ${CMAKE_SOURCE_DIR}/.hg_archival.txt)
- file(READ
- ${CMAKE_SOURCE_DIR}/.hg_archival.txt rev_hash_str
- LIMIT 10
- OFFSET 7
- NEWLINE_CONSUME
- )
- string(STRIP ${rev_hash_str} rev_hash_str)
- set(rev_id_str "Archive")
- set(rev_id "0")
- set(rev_hash ${rev_hash_str})
-endif()
-
# Last minute check - ensure that we have a proper revision
-# If everything above fails (means the user has erased the mercurial revisional control directory, or runs archive and erased their .hg_archival.txt)
+# If everything above fails (means the user has erased the git revision control directory or removed the origin/HEAD tag)
if(NOT rev_id_str)
message("")
message(STATUS "WARNING - No revision-information found - have you been tampering with the sources?")
@@ -48,14 +36,13 @@ if(NOT rev_id_str)
set(rev_hash "0")
set(rev_id_str "0")
set(rev_id "0")
+else()
+ string(STRIP ${rev_hash_str} rev_hash_str)
+ set(rev_hash ${rev_hash_str})
+ string(STRIP ${rev_id_str} rev_id_str)
+ set(rev_id ${rev_id_str})
endif()
-# Strip off excess strings (shows when the source is actually modified)
-if(NOT rev_id_str MATCHES "Archive")
- string(REPLACE "+" "" rev_id ${rev_id_str})
-endif()
-string(REPLACE "+" "" rev_hash ${rev_hash_str})
-
# Its not set during initial run
if(NOT BUILDDIR)
set(BUILDDIR ${CMAKE_BINARY_DIR})