File: gitcommit.cmake

package info (click to toggle)
putty 0.83-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 13,216 kB
  • sloc: ansic: 148,476; python: 8,466; perl: 1,830; makefile: 128; sh: 117
file content (63 lines) | stat: -rw-r--r-- 1,920 bytes parent folder | download
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
58
59
60
61
62
63
# Pure cmake script to write out cmake_commit.c and cmake_version.but

set(DEFAULT_COMMIT "d2c178c49a0ae6fa9ef75ca84fb3c9d0d675ea85")
set(commit "${DEFAULT_COMMIT}")

set(TOPLEVEL_SOURCE_DIR ${CMAKE_SOURCE_DIR})

execute_process(
  COMMAND ${GIT_EXECUTABLE} rev-parse --show-toplevel
  OUTPUT_VARIABLE git_worktree
  ERROR_VARIABLE stderr
  RESULT_VARIABLE status)
string(REGEX REPLACE "\n$" "" git_worktree "${git_worktree}")

if(status EQUAL 0)
  if(git_worktree STREQUAL CMAKE_SOURCE_DIR)
    execute_process(
      COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
      OUTPUT_VARIABLE git_commit
      ERROR_VARIABLE stderr
      RESULT_VARIABLE status)
    if(status EQUAL 0)
      string(REGEX REPLACE "\n$" "" commit "${git_commit}")
    else()
      if(commit STREQUAL "unavailable")
        message("Unable to determine git commit: 'git rev-parse HEAD' returned status ${status} and error output:\n${stderr}\n")
      endif()
    endif()
  else()
    if(commit STREQUAL "unavailable")
      message("Unable to determine git commit: top-level source dir ${CMAKE_SOURCE_DIR} is not the root of a repository")
    endif()
  endif()
else()
  if(commit STREQUAL "unavailable")
    message("Unable to determine git commit: 'git rev-parse --show-toplevel' returned status ${status} and error output:\n${stderr}\n")
  endif()
endif()

if(OUTPUT_TYPE STREQUAL header)
  file(WRITE "${OUTPUT_FILE}" "\
/*
 * cmake_commit.c - string literal giving the source git commit, if known.
 *
 * Generated by cmake/gitcommit.cmake.
 */

#include \"putty.h\"
const char commitid[] = \"${commit}\";
")
elseif(OUTPUT_TYPE STREQUAL halibut)
  if(commit STREQUAL "unavailable")
    file(WRITE "${OUTPUT_FILE}" "\
\\versionid no version information available
")
  else()
    file(WRITE "${OUTPUT_FILE}" "\
\\versionid built from git commit ${commit}
")
  endif()
else()
  message(FATAL_ERROR "Set OUTPUT_TYPE when running this script")
endif()