summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt12
-rw-r--r--Modules/VersionTag.cmake13
-rwxr-xr-xModules/describe.sh17
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 @@
1PROJECT(usbmuxd) 1PROJECT(usbmuxd)
2 2
3set(USBMUXD_VERSION "1.0.0") 3cmake_minimum_required(VERSION 2.6)
4set(LIBUSBMUXD_VERSION "${USBMUXD_VERSION}") 4
5set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/Modules/")
6
7include(VersionTag)
8
9set(USBMUXD_VERSION "${VERSION_TAG}")
10set(LIBUSBMUXD_VERSION "${VERSION_TAG}")
5set(LIBUSBMUXD_SOVERSION "1") 11set(LIBUSBMUXD_SOVERSION "1")
6 12
7cmake_minimum_required(VERSION 2.6) 13message("-- Configuring usbmuxd v${VERSION_TAG}")
8 14
9if(NOT DEFINED LIB_SUFFIX) 15if(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 @@
1execute_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
8if(DESCRIBE STREQUAL "")
9 set (VERSION_TAG "UNKNOWN")
10else()
11 string(REGEX REPLACE "^v" "" VERSION_TAG "${DESCRIBE}")
12endif()
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.
4if 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
10else
11# Check for version tag
12 if [ -e version.tag ]; then
13 echo -n `cat version.tag`
14 fi
15fi
16
17echo