diff options
| author | 2010-04-11 17:11:08 +0200 | |
|---|---|---|
| committer | 2010-04-11 17:18:50 +0200 | |
| commit | 3066c08a0db54729af639e128b4e9fe4fdc8c008 (patch) | |
| tree | d1917b1b8ea7783bf4b566129088bab2258ef3cc | |
| parent | 34524ac4e8075f0fc330759fd42b4d4873f27019 (diff) | |
| download | usbmuxd-3066c08a0db54729af639e128b4e9fe4fdc8c008.tar.gz usbmuxd-3066c08a0db54729af639e128b4e9fe4fdc8c008.tar.bz2 | |
Add automatic git versioning and tag for archives
| -rw-r--r-- | CMakeLists.txt | 12 | ||||
| -rw-r--r-- | Modules/VersionTag.cmake | 13 | ||||
| -rwxr-xr-x | Modules/describe.sh | 17 |
3 files changed, 39 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index fb99b4c..7dbeec1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -1,10 +1,16 @@ | |||
| 1 | PROJECT(usbmuxd) | 1 | PROJECT(usbmuxd) |
| 2 | 2 | ||
| 3 | set(USBMUXD_VERSION "1.0.0") | 3 | cmake_minimum_required(VERSION 2.6) |
| 4 | set(LIBUSBMUXD_VERSION "${USBMUXD_VERSION}") | 4 | |
| 5 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/Modules/") | ||
| 6 | |||
| 7 | include(VersionTag) | ||
| 8 | |||
| 9 | set(USBMUXD_VERSION "${VERSION_TAG}") | ||
| 10 | set(LIBUSBMUXD_VERSION "${VERSION_TAG}") | ||
| 5 | set(LIBUSBMUXD_SOVERSION "1") | 11 | set(LIBUSBMUXD_SOVERSION "1") |
| 6 | 12 | ||
| 7 | cmake_minimum_required(VERSION 2.6) | 13 | message("-- Configuring usbmuxd v${VERSION_TAG}") |
| 8 | 14 | ||
| 9 | if(NOT DEFINED LIB_SUFFIX) | 15 | if(NOT DEFINED LIB_SUFFIX) |
| 10 | if(CMAKE_SIZEOF_VOID_P EQUAL 8) | 16 | if(CMAKE_SIZEOF_VOID_P EQUAL 8) |
diff --git a/Modules/VersionTag.cmake b/Modules/VersionTag.cmake new file mode 100644 index 0000000..682ab3e --- /dev/null +++ b/Modules/VersionTag.cmake | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | execute_process( | ||
| 2 | COMMAND "sh" "${CMAKE_SOURCE_DIR}/Modules/describe.sh" | ||
| 3 | WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" | ||
| 4 | OUTPUT_VARIABLE DESCRIBE | ||
| 5 | OUTPUT_STRIP_TRAILING_WHITESPACE | ||
| 6 | ) | ||
| 7 | |||
| 8 | if(DESCRIBE STREQUAL "") | ||
| 9 | set (VERSION_TAG "UNKNOWN") | ||
| 10 | else() | ||
| 11 | string(REGEX REPLACE "^v" "" VERSION_TAG "${DESCRIBE}") | ||
| 12 | endif() | ||
| 13 | |||
diff --git a/Modules/describe.sh b/Modules/describe.sh new file mode 100755 index 0000000..91730b8 --- /dev/null +++ b/Modules/describe.sh | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | |||
| 3 | # Check for git and a git repo. | ||
| 4 | if head=`git rev-parse --verify HEAD 2>/dev/null`; then | ||
| 5 | echo -n `git describe` | ||
| 6 | |||
| 7 | # Are there uncommitted changes? | ||
| 8 | git update-index --refresh --unmerged > /dev/null | ||
| 9 | git diff-index --quiet HEAD || echo -n -dirty | ||
| 10 | else | ||
| 11 | # Check for version tag | ||
| 12 | if [ -e version.tag ]; then | ||
| 13 | echo -n `cat version.tag` | ||
| 14 | fi | ||
| 15 | fi | ||
| 16 | |||
| 17 | echo | ||
