File: GetVersion.cmake

package info (click to toggle)
yade 2025.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,308 kB
  • sloc: cpp: 93,298; python: 50,409; sh: 577; makefile: 162
file content (57 lines) | stat: -rw-r--r-- 1,868 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Define version or set it from git

IF (NOT YADE_VERSION)
  IF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/RELEASE )
    #Release file is found
    SET(READFILE cat)
    execute_process(
      COMMAND ${READFILE} "RELEASE"
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      OUTPUT_VARIABLE YADE_VERSION
      OUTPUT_STRIP_TRAILING_WHITESPACE
    )
  ELSEIF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
    #Use git for version defining
    execute_process(
      COMMAND git log -n1 --pretty=oneline
      COMMAND cut -c1-7
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      OUTPUT_VARIABLE VERSION_GIT
      OUTPUT_STRIP_TRAILING_WHITESPACE
    )
    execute_process(
      COMMAND git log -n1 --pretty=fuller --date=iso
      COMMAND grep AuthorDate
      COMMAND cut -c13-22
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      OUTPUT_VARIABLE VERSION_DATE
      OUTPUT_STRIP_TRAILING_WHITESPACE
    )
    SET(YADE_VERSION "${VERSION_DATE}.git-${VERSION_GIT}")

    #git log -n1 --pretty=format:"%ai_%h"
  ELSEIF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.bzr/branch/last-revision)
    #Use bzr for version defining
    execute_process(
      COMMAND less last-revision
      COMMAND cut -c13-20
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/.bzr/branch/
      OUTPUT_VARIABLE VERSION_GIT
      OUTPUT_STRIP_TRAILING_WHITESPACE
    )
    execute_process(
      COMMAND bzr log -l 1 --gnu-changelog
      COMMAND head -n 1
      COMMAND cut -c1-10
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      OUTPUT_VARIABLE VERSION_DATE
      OUTPUT_STRIP_TRAILING_WHITESPACE
    )
    SET(YADE_VERSION "${VERSION_DATE}.git-${VERSION_GIT}")
  ELSE (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git )
    SET (YADE_VERSION "Unknown")
  ENDIF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/RELEASE )
ENDIF (NOT YADE_VERSION)


MESSAGE (STATUS "Version is set to " ${YADE_VERSION})