summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-07-22 23:02:33 -0700
committerJosh Blum <josh@joshknows.com>2010-07-22 23:02:33 -0700
commitab4304f827cdfb5d46e392a14bad012378e4c4e7 (patch)
tree9633976096af2e47a7df8ef60b1df4f8487c70b3
parentd63390a1150c9d1bf0aa2cbbbb41a4758950e9c1 (diff)
downloaduhd-ab4304f827cdfb5d46e392a14bad012378e4c4e7.tar.gz
uhd-ab4304f827cdfb5d46e392a14bad012378e4c4e7.tar.bz2
uhd-ab4304f827cdfb5d46e392a14bad012378e4c4e7.zip
uhd: moved version extraction code into version.cmake
-rw-r--r--host/CMakeLists.txt3
-rw-r--r--host/config/CPack.cmake70
-rw-r--r--host/config/Version.cmake71
3 files changed, 73 insertions, 71 deletions
diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt
index 8e28ddb34..ceea5d024 100644
--- a/host/CMakeLists.txt
+++ b/host/CMakeLists.txt
@@ -20,9 +20,10 @@ PROJECT(UHD CXX)
ENABLE_TESTING()
########################################################################
-# Config Files
+# Config Files (include order is important)
########################################################################
INCLUDE(${CMAKE_SOURCE_DIR}/config/Python.cmake)
+INCLUDE(${CMAKE_SOURCE_DIR}/config/Version.cmake)
INCLUDE(${CMAKE_SOURCE_DIR}/config/CPack.cmake)
########################################################################
diff --git a/host/config/CPack.cmake b/host/config/CPack.cmake
index 2756c6ab8..a86f452f9 100644
--- a/host/config/CPack.cmake
+++ b/host/config/CPack.cmake
@@ -16,76 +16,6 @@
#
########################################################################
-# Setup Version Numbers
-########################################################################
-SET(UHD_VERSION_MAJOR 0)
-SET(UHD_VERSION_MINOR 0)
-SET(UHD_VERSION_PATCH 0)
-
-########################################################################
-# Get the current YYYYMMDD HHMMSS timestamp
-########################################################################
- EXECUTE_PROCESS(
- COMMAND ${PYTHON_EXECUTABLE} -c "import time; print time.strftime('%Y%m%d', time.gmtime())"
- OUTPUT_VARIABLE UHD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- SET(UHD_VERSION_MAJOR ${UHD_DATE})
-
- EXECUTE_PROCESS(
- COMMAND ${PYTHON_EXECUTABLE} -c "import time; print time.strftime('%H%M%S', time.gmtime())"
- OUTPUT_VARIABLE UHD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- SET(UHD_VERSION_MINOR ${UHD_TIME})
-
-########################################################################
-# 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")
-
-########################################################################
# Setup CPack
########################################################################
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Ettus Research - Universal Hardware Driver")
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")