Update versioning
This commit is contained in:
@ -13,7 +13,7 @@ argv = [
|
||||
os.path.join(builder.buildPath, 'includes'),
|
||||
]
|
||||
outputs = [
|
||||
os.path.join(builder.buildFolder, 'includes', 'amxmodx_version.h'),
|
||||
os.path.join(builder.buildFolder, 'includes', 'amxmodx_version_auto.h'),
|
||||
os.path.join(builder.buildFolder, 'includes', 'amxmodx_version.inc'),
|
||||
]
|
||||
|
||||
|
@ -60,29 +60,27 @@ def output_version_headers():
|
||||
if tag != "":
|
||||
fullstring += "-{0}".format(tag)
|
||||
if tag == "dev":
|
||||
fullstring += "+{0}".format(shorthash)
|
||||
fullstring += "+{0}".format(count)
|
||||
|
||||
with open(os.path.join(OutputFolder, 'amxmodx_version.h'), 'w') as fp:
|
||||
with open(os.path.join(OutputFolder, 'amxmodx_version_auto.h'), 'w') as fp:
|
||||
fp.write("""
|
||||
#ifndef _AMXMODX_AUTO_VERSION_INFORMATION_H_
|
||||
#define _AMXMODX_AUTO_VERSION_INFORMATION_H_
|
||||
|
||||
#define SVN_VERSION_STRING "{fullstring}"
|
||||
#define SVN_VERSION_DWORD {major}, {minor}, {release}, 0
|
||||
#define SVN_VERSION_PRODUCT "{product}"
|
||||
#define SVN_VERSION SVN_VERSION_STRING
|
||||
#define SVN_BUILD_ID "{count}:{longhash}"
|
||||
#define AMXX_BUILD_TAG \"{0}\"
|
||||
#define AMXX_BUILD_CSET \"{1}\"
|
||||
#define AMXX_BUILD_MAJOR \"{2}\"
|
||||
#define AMXX_BUILD_MINOR \"{3}\"
|
||||
#define AMXX_BUILD_RELEASE \"{4}\"
|
||||
#define AMXX_BUILD_LOCAL_REV \"{6}\"
|
||||
|
||||
#define AMXX_BUILD_UNIQUEID "{6}:" AMXX_BUILD_CSET
|
||||
|
||||
#define AMXX_VERSION_STRING \"{5}\"
|
||||
#define AMXX_VERSION_FILE {2},{3},{4},0
|
||||
|
||||
#endif // _AMXMODX_AUTO_VERSION_INFORMATION_H_
|
||||
""".format(
|
||||
fullstring = fullstring,
|
||||
major = major,
|
||||
minor = minor,
|
||||
release = release,
|
||||
product = product,
|
||||
count = count,
|
||||
longhash = longhash
|
||||
))
|
||||
""".format(tag, shorthash, major, minor, release, fullstring, count))
|
||||
|
||||
version_num = int(major) * 100 + int(minor) * 10 + int(release)
|
||||
with open(os.path.join(OutputFolder, 'amxmodx_version.inc'), 'w') as fp:
|
||||
@ -92,13 +90,23 @@ def output_version_headers():
|
||||
#endif
|
||||
#define _amxmodx_version_included
|
||||
|
||||
#define AMXX_VERSION {major}.{minor}{release}
|
||||
#define AMXX_VERSION_NUM {version_num}
|
||||
#define AMXX_VERSION_TAG \"{tag}\"
|
||||
#define AMXX_VERSION_CSET \"{shorthash}\"
|
||||
#define AMXX_VERSION_MAJOR \"{major}\"
|
||||
#define AMXX_VERSION_MINOR \"{minor}\"
|
||||
#define AMXX_VERSION_RELEASE \"{release}\"
|
||||
#define AMXX_VERSION_LOCAL_REV \"{count}\"
|
||||
#define AMXX_VERSION {major}.{minor}{release}
|
||||
#define AMXX_VERSION_NUM {version_num}
|
||||
|
||||
stock const AMXX_VERSION_STR[] = "{fullstring}";
|
||||
""".format(
|
||||
tag = tag,
|
||||
shorthash = shorthash,
|
||||
major = major,
|
||||
minor = minor,
|
||||
release = release,
|
||||
count = count,
|
||||
version_num = version_num,
|
||||
fullstring = fullstring
|
||||
))
|
||||
|
15
support/versionlib/AMBuilder
Normal file
15
support/versionlib/AMBuilder
Normal file
@ -0,0 +1,15 @@
|
||||
# vim: sts=2 ts=8 sw=2 tw=99 et ft=python:
|
||||
import os
|
||||
|
||||
lib = builder.compiler.StaticLibrary('version')
|
||||
lib.compiler.includes += [
|
||||
os.path.join(builder.sourcePath, 'public'),
|
||||
]
|
||||
lib.compiler.defines.remove('AMXX_USE_VERSIONLIB')
|
||||
lib.compiler.sourcedeps += AMXX.generated_headers
|
||||
lib.sources += [
|
||||
'versionlib.cpp'
|
||||
]
|
||||
task = builder.Add(lib)
|
||||
|
||||
rvalue = task.binary
|
8
support/versionlib/versionlib.cpp
Normal file
8
support/versionlib/versionlib.cpp
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
#include <amxmodx_version.h>
|
||||
#include <versionlib.h>
|
||||
|
||||
const char *AMXX_LOCAL_REV = AMXX_BUILD_LOCAL_REV;
|
||||
const char *AMXX_SHA = AMXX_BUILD_CSET;
|
||||
const char *AMXX_VERSION = AMXX_VERSION_STRING;
|
||||
const char *AMXX_BUILD_TIME = __DATE__ " " __TIME__;
|
24
support/versionlib/versionlib.h
Normal file
24
support/versionlib/versionlib.h
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef _INCLUDE_AMXX_VERSIONLIB_H_
|
||||
#define _INCLUDE_AMXX_VERSIONLIB_H_
|
||||
|
||||
#if !defined(AMXX_USE_VERSIONLIB)
|
||||
// These get defined in amxmodx_version.h since
|
||||
// versionlib does not use versionlib.
|
||||
#undef AMXX_LOCAL_REV
|
||||
#undef AMXX_CSET
|
||||
#undef AMXX_VERSION
|
||||
#undef AMXX_BUILD_TIME
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define EXTERN_C extern "C"
|
||||
#else
|
||||
#define EXTERN_C extern
|
||||
#endif
|
||||
|
||||
EXTERN_C const char *AMXX_LOCAL_REV;
|
||||
EXTERN_C const char *AMXX_SHA;
|
||||
EXTERN_C const char *AMXX_VERSION;
|
||||
EXTERN_C const char *AMXX_BUILD_TIME;
|
||||
|
||||
#endif // _INCLUDE_AMXX_VERSIONLIB_H_
|
Reference in New Issue
Block a user