summaryrefslogtreecommitdiffstats
path: root/host/config/Version.cmake
diff options
context:
space:
mode:
authorNick Foster <nick@nerdnetworks.org>2010-07-26 11:48:23 -0700
committerNick Foster <nick@nerdnetworks.org>2010-07-26 11:48:23 -0700
commit8d18814cc33cc9a703da5e7eeee00a0d2499074b (patch)
treebaa9d51e6fe867de91662ed9542cfe0bd881b9b8 /host/config/Version.cmake
parent5ba60fa140d2f6e96aea1394554232809b3eeae9 (diff)
parentf86c25317b457b280c697fc47905c79bdbbc0c93 (diff)
downloaduhd-8d18814cc33cc9a703da5e7eeee00a0d2499074b.tar.gz
uhd-8d18814cc33cc9a703da5e7eeee00a0d2499074b.tar.bz2
uhd-8d18814cc33cc9a703da5e7eeee00a0d2499074b.zip
Merge branch 'master' of ettus.sourcerepo.com:ettus/uhdpriv into codec_gains
Diffstat (limited to 'host/config/Version.cmake')
-rw-r--r--host/config/Version.cmake71
1 files changed, 71 insertions, 0 deletions
diff --git a/host/config/Version.cmake b/host/config/Version.cmake
new file mode 100644
index 000000000..a592a4565
--- /dev/null
+++ b/host/config/Version.cmake
@@ -0,0 +1,71 @@
+#
+# Copyright 2010 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+########################################################################
+# Setup Version Numbers
+########################################################################
+SET(UHD_VERSION_MAJOR 0)
+SET(UHD_VERSION_MINOR 0)
+SET(UHD_VERSION_PATCH 0)
+
+########################################################################
+# Find GIT to get repo information
+########################################################################
+MESSAGE(STATUS "Checking for git")
+FIND_PROGRAM(GIT git)
+IF(${GIT} STREQUAL "GIT-NOTFOUND")
+ MESSAGE(STATUS "Checking for git - not found")
+ELSE(${GIT} STREQUAL "GIT-NOTFOUND")
+ MESSAGE(STATUS "Checking for git - found")
+
+ #grab the git log entry for the current head
+ EXECUTE_PROCESS(
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ COMMAND ${GIT} log HEAD~..HEAD --date=raw
+ OUTPUT_VARIABLE _git_log OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
+ #extract the timestamp from the git log entry
+ EXECUTE_PROCESS(
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ COMMAND ${PYTHON_EXECUTABLE} -c "import re; print re.match('^.*Date:\\s*(\\d*).*$', '''${_git_log}''', re.MULTILINE | re.DOTALL).groups()[0]"
+ OUTPUT_VARIABLE _git_timestamp OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
+ #format the timestamp into YYYY-MM-DD
+ EXECUTE_PROCESS(
+ COMMAND ${PYTHON_EXECUTABLE} -c "import time; print time.strftime('%Y%m%d', time.gmtime(${_git_timestamp}))"
+ OUTPUT_VARIABLE _git_date OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ SET(UHD_VERSION_MAJOR ${_git_date})
+
+ #format the timestamp into HH-MM-SS
+ EXECUTE_PROCESS(
+ COMMAND ${PYTHON_EXECUTABLE} -c "import time; print time.strftime('%H%M%S', time.gmtime(${_git_timestamp}))"
+ OUTPUT_VARIABLE _git_time OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ SET(UHD_VERSION_MINOR ${_git_time})
+
+ #grab the git ref id for the current head
+ EXECUTE_PROCESS(
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ COMMAND ${GIT} rev-parse --short HEAD
+ OUTPUT_VARIABLE _git_rev OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ SET(UHD_VERSION_PATCH ${_git_rev})
+
+ENDIF(${GIT} STREQUAL "GIT-NOTFOUND")