mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-22 06:26:30 +00:00
Revamp version tagging, remove ugly suffix on git hash. Refs #571
* Tacking -official onto the git hash was a hack only needed on windows, and since we want more information it doesn't scale. * Instead we track anything we need to know about the version in separate variables, like whether it's a stable build or a nightly/ local build. Or if it's built by a downstream distribution then the version number for the downstream build.
This commit is contained in:
@@ -1403,17 +1403,6 @@ This will be in the form "MAJOR.MINOR"
|
||||
)");
|
||||
extern "C" RENDERDOC_API const char *RENDERDOC_CC RENDERDOC_GetVersionString();
|
||||
|
||||
DOCUMENT(R"(Retrieves the git commit hash string.
|
||||
|
||||
This will be in the form ``61262f...fa-versionstring`` where the ``-versionstring`` suffix is
|
||||
specific to the particular build and may take many values. A common one is ``-official`` for binary
|
||||
releases generated upstream.
|
||||
|
||||
:return: The commit string.
|
||||
:rtype: ``str``
|
||||
)");
|
||||
extern "C" RENDERDOC_API const char *RENDERDOC_CC RENDERDOC_GetCommitHash();
|
||||
|
||||
DOCUMENT("Internal function for retrieving a config setting.");
|
||||
extern "C" RENDERDOC_API const char *RENDERDOC_CC RENDERDOC_GetConfigSetting(const char *name);
|
||||
|
||||
|
||||
@@ -24,16 +24,89 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VER_STR2(a) #a
|
||||
#define VER_STR(a) VER_STR2(a)
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Build configuration variables.
|
||||
//
|
||||
// When distributing RenderDoc builds please check these variables before building and
|
||||
// set them appropriately. If you're building locally, the defaults are all fine.
|
||||
//
|
||||
// For windows builds, some of these variables are irrelevant and can be ignored.
|
||||
//
|
||||
// For non-windows builds, these variables have cmake settings that you can use to set
|
||||
// them, and are designed to be set that way. See BUILD_VERSION_*.
|
||||
//
|
||||
// However if you want to you can locally modify this file (e.g. copy a file with some fixed values
|
||||
// set, then just update the version numbers in the build process).
|
||||
//
|
||||
|
||||
#define RENDERDOC_VERSION_MAJOR 0
|
||||
#define RENDERDOC_VERSION_MINOR 34
|
||||
#define RENDERDOC_VERSION_STRING \
|
||||
VER_STR(RENDERDOC_VERSION_MAJOR) "." VER_STR(RENDERDOC_VERSION_MINOR)
|
||||
|
||||
#if defined(GIT_COMMIT_HASH_LITERAL)
|
||||
#define GIT_COMMIT_HASH VER_STR(GIT_COMMIT_HASH_LITERAL)
|
||||
#elif !defined(GIT_COMMIT_HASH)
|
||||
// This should be set to the last upstream git commit where the build comes from. If any later
|
||||
// commits are cherry-picked or local patches are applied, this should still point to the hash of
|
||||
// the tree that the build was based on.
|
||||
//
|
||||
// Windows users can run ./scripts/hash_version.sh from the root of the checkout to set this, anyone
|
||||
// else should set BUILD_VERSION_HASH in the cmake build command.
|
||||
#if !defined(GIT_COMMIT_HASH)
|
||||
#define GIT_COMMIT_HASH "NO_GIT_COMMIT_HASH_DEFINED"
|
||||
#endif
|
||||
|
||||
// If this variable is set to 1, then this build is considered a stable version - based on a tagged
|
||||
// version number upstream, possibly with some patches applied as necessary.
|
||||
// Any other build whether it's including experimental local changes or just from the tip of the
|
||||
// latest code at some other point should be considered unstable and leave this as 0.
|
||||
#if !defined(RENDERDOC_STABLE_BUILD)
|
||||
#define RENDERDOC_STABLE_BUILD 0
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// If you are distributing to the public, you should set values for these variables below.
|
||||
//
|
||||
|
||||
// The friendly name of the distribution that packaged this build
|
||||
#if !defined(DISTRIBUTION_NAME)
|
||||
//#define DISTRIBUTION_NAME "DistributionName"
|
||||
#endif
|
||||
|
||||
// An arbitrary distribution version string. If set, this should include the major and minor
|
||||
// version numbers in it.
|
||||
#if !defined(DISTRIBUTION_VERSION)
|
||||
//#define DISTRIBUTION_VERSION "MAJ.MIN-foo.4b"
|
||||
#endif
|
||||
|
||||
// Set to an URL or email of who produced this build and should be the first point of contact for
|
||||
// any issues.
|
||||
// If you're distributing builds for the public then do update this to point to your bugtracker or
|
||||
// similar.
|
||||
#if !defined(DISTRIBUTION_CONTACT)
|
||||
//#define DISTRIBUTION_CONTACT "https://distribution.example/packages/renderdoc"
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Internal or derived variables
|
||||
|
||||
// You should NOT enable this variable. This is used by upstream builds to determine whether
|
||||
// this is an official build e.g. that should send crash reports.
|
||||
#define RENDERDOC_OFFICIAL_BUILD 0
|
||||
|
||||
// The major and minor version that describe this build. These numbers are modified linearly
|
||||
// upstream and should not be modified downstream. You can set DISTRIBUTION_VERSION to include any
|
||||
// arbitrary release marker or package version you wish.
|
||||
#define RENDERDOC_VERSION_MAJOR 0
|
||||
#define RENDERDOC_VERSION_MINOR 34
|
||||
|
||||
#define RDOC_INTERNAL_VERSION_STRINGIZE2(a) #a
|
||||
#define RDOC_INTERNAL_VERSION_STRINGIZE(a) RDOC_INTERNAL_VERSION_STRINGIZE2(a)
|
||||
|
||||
// string that's just "major.minor"
|
||||
#define MAJOR_MINOR_VERSION_STRING \
|
||||
RDOC_INTERNAL_VERSION_STRINGIZE(RENDERDOC_VERSION_MAJOR) \
|
||||
"." RDOC_INTERNAL_VERSION_STRINGIZE(RENDERDOC_VERSION_MINOR)
|
||||
|
||||
// string that's the actual version number, either from the distribution or just vX.Y
|
||||
#if defined(DISTRIBUTION_VERSION)
|
||||
#define FULL_VERSION_STRING "v" DISTRIBUTION_VERSION
|
||||
#else
|
||||
#define FULL_VERSION_STRING "v" MAJOR_MINOR_VERSION_STRING
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user