Skip to content

Commit 8f701eb

Browse files
committed
implement automatic cpack versioning
1 parent b1889c1 commit 8f701eb

2 files changed

Lines changed: 25 additions & 12 deletions

File tree

CPackConfig.cmake

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,11 @@ endif ()
99
# == Basic information ==
1010
set(CPACK_PACKAGE_NAME "compton")
1111
set(CPACK_PACKAGE_VENDOR "chjj")
12-
set(CPACK_PACKAGE_VERSION_MAJOR "0")
13-
set(CPACK_PACKAGE_VERSION_MINOR "0")
14-
set(CPACK_PACKAGE_VERSION_PATCH "0")
15-
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
12+
set(CPACK_PACKAGE_VERSION "${COMPTON_VERSION}")
1613
set(CPACK_PACKAGE_DESCRIPTION "A lightweight X compositing window manager, fork of xcompmgr-dana.")
1714
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A lightweight X compositing window manager")
1815
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}")
1916
set(CPACK_PACKAGE_CONTACT "nobody <devnull@example.com>")
20-
set(CPACK_INSTALL_COMMANDS "env PREFIX=build make install")
2117

2218
# == Package config ==
2319
set(CPACK_INSTALLED_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/build" "usr")
@@ -27,6 +23,7 @@ set(CPACK_RESOURCE_FILE_README "README.md")
2723
set(CPACK_STRIP_FILES 1)
2824

2925
# == DEB package config ==
26+
set(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}${PATCH_VERSION}~git${GIT_DATE}")
3027
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${CPACK_SYSTEM_NAME}")
3128
set(CPACK_DEBIAN_PACKAGE_SECTION "x11")
3229
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.15), libconfig9, libdbus-1-3 (>= 1.1.1), libgl1-mesa-glx | libgl1 | libgl1-nvidia-glx | libgl1-fglrx-glx, libpcre3 (>= 8.10), libx11-6, libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxrandr2 (>= 4.3), libxrender1, libxinerama1")

_CMakeLists.txt

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
project(compton)
22
cmake_minimum_required(VERSION 2.8)
33

4-
set(CPACK_PACKAGE_VERSION_MAJOR "0")
5-
set(CPACK_PACKAGE_VERSION_MINOR "0")
6-
set(CPACK_PACKAGE_VERSION_PATCH "0")
7-
84
add_subdirectory(man)
95

106
set(compton_SRCS src/compton.c)
@@ -16,10 +12,30 @@ set(CMAKE_C_FLAGS_RELWITHDBGINFO "-O2 -march=native -ggdb")
1612
add_definitions("-Wall" "-std=c99")
1713

1814
# == Version ==
19-
execute_process(COMMAND sh -c "echo -n \\\"git-$(git describe --always --dirty)-$(git log -1 --date=short --pretty=format:%cd)\\\""
15+
execute_process(COMMAND git describe --always --dirty
16+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
17+
OUTPUT_VARIABLE GIT_DESCRIBE
18+
OUTPUT_STRIP_TRAILING_WHITESPACE)
19+
execute_process(COMMAND git log -1 --date=short --pretty=format:%cd
2020
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
21-
OUTPUT_VARIABLE COMPTON_VERSION)
22-
add_definitions("-DCOMPTON_VERSION=${COMPTON_VERSION}")
21+
OUTPUT_VARIABLE GIT_DATE
22+
OUTPUT_STRIP_TRAILING_WHITESPACE)
23+
24+
string(REGEX REPLACE "^v([0-9]+)[.]([0-9]+)_([0-9a-zA-Z]+)-(.*)$"
25+
"\\1;\\2;\\3;\\4" RESULT ${GIT_DESCRIBE})
26+
27+
string(REGEX REPLACE "[-]" "" GIT_DATE ${GIT_DATE})
28+
set(COMPTON_VERSION "git-${GIT_DESCRIBE}-${GIT_DATE}")
29+
30+
list(GET RESULT 0 CPACK_PACKAGE_VERSION_MAJOR)
31+
list(GET RESULT 1 CPACK_PACKAGE_VERSION_MINOR)
32+
list(GET RESULT 2 PATCH_VERSION)
33+
list(GET RESULT 3 ADDENDUM_VERSION)
34+
35+
set(CPACK_PACKAGE_VERSION_PATCH ${PATCH_VERSION}-${ADDENDUM_VERSION}-${GIT_DATE})
36+
add_definitions("-DCOMPTON_VERSION=\"${COMPTON_VERSION}\"")
37+
38+
include("CPackConfig.cmake")
2339

2440
# == Options ==
2541

0 commit comments

Comments
 (0)