File: version.h

package info (click to toggle)
crawl 2%3A0.33.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 95,264 kB
  • sloc: cpp: 358,145; ansic: 27,203; javascript: 9,491; python: 8,359; perl: 3,327; java: 2,667; xml: 2,191; makefile: 1,830; sh: 611; objc: 250; cs: 15; sed: 9; lisp: 3
file content (78 lines) | stat: -rw-r--r-- 2,369 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/**
 * @file
 * @brief Contains version information
**/

#pragma once

// change these defs for forks (please)
// (there are various places in the build system that will also need manual
// attention, as well as the main menu, etc)
#define CRAWL "Dungeon Crawl Stone Soup"
#define CRAWL_SHORT "Crawl"
// shown in crashes:
#define CRAWL_BUG_REPORT "https://github.com/crawl/crawl/issues"
// reminder, modifications of the following should obey the licensing, you
// can't just replace this with your name. Also, this should fit (maybe with
// multiple lines) in 80 chars.
#define CRAWL_COPYRIGHT "(c) Copyright 1997-2002 Linley Henzell, 2002-2025 Crawl DevTeam"

#ifdef USE_TILE_WEB
#  define CRAWL_BUILD_NAME "Console/Webtiles"
#elif defined(USE_TILE_LOCAL)
#  define CRAWL_BUILD_NAME "SDL Tiles"
#else
#  define CRAWL_BUILD_NAME "Console"
#endif


enum rel_type
{
    VER_ALPHA,
    VER_BETA,
    VER_FINAL,
};

namespace Version
{
    /// The major version string.
    /**
     * This version is just the major release number, e.g. '0.10' for
     * all of 0.10-a0, 0.10, and 0.10.1 (assuming this last is even
     * released).
     */
    extern const char* Major;

    /// The short version string.
    /**
     * This version will generally match the last version tag. For instance,
     * if the last tag of Crawl before this build was '0.1.2', you'd see
     * '0.1.2'. This version number does not include some rather important
     * extra information useful for getting the exact revision (the Git commit
     * hash and the number of revisions since the tag). For that extra information,
     * use Version::Long instead.
     */
    extern const char* Short;

    /// The long version string.
    /**
     * This string contains detailed version information about the CrissCross
     * build in use. The string will always start with the Git tag that this
     * build descended from. If this build is not an exact match for a given
     * tag, this string will also include the number of commits since the tag
     * and the Git commit id (the SHA-1 hash).
     */
    extern const char* Long;

    /// The release type.
    /**
     * Indicates whether it's a devel or a stable version.
     */
    extern const rel_type ReleaseType;

    void record(string prev);
    string history();
    size_t history_size();
}

extern const char* compilation_info;