forked from iovisor/bcc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathversion.cmake
27 lines (26 loc) · 983 Bytes
/
version.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Copyright (c) PLUMgrid, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
if(NOT REVISION)
get_git_head_revision(GIT_REFSPEC GIT_SHA1)
string(SUBSTRING "${GIT_SHA1}" 0 8 GIT_SHA1_SHORT)
git_describe(GIT_DESCRIPTION)
git_describe(GIT_TAG_LAST "--abbrev=0")
git_get_exact_tag(GIT_TAG_EXACT)
string(SUBSTRING "${GIT_TAG_LAST}-${GIT_SHA1_SHORT}" 1 -1 REVISION)
if(GIT_TAG_EXACT)
string(SUBSTRING "${GIT_TAG_EXACT}" 1 -1 REVISION)
message(STATUS "Currently on Git tag ${GIT_TAG_EXACT}")
else ()
message(STATUS "Latest recognized Git tag is ${GIT_TAG_LAST}")
set(GIT_TAG_EXACT "")
endif()
message(STATUS "Git HEAD is ${GIT_SHA1}")
# rpm/deb packaging uses this, only works on whole tag numbers
if(NOT REVISION_LAST)
string(SUBSTRING "${GIT_TAG_LAST}" 1 -1 REVISION_LAST)
endif()
else()
set(REVISION_LAST "${REVISION}")
endif()
# strip leading 'v', and make unique for the tag
message(STATUS "Revision is ${REVISION}")