Move version information to public API so that all projects can share it

This commit is contained in:
baldurk
2016-11-11 20:35:59 +01:00
parent 1c61b82221
commit 3290dd1448
20 changed files with 74 additions and 40 deletions
+4 -1
View File
@@ -1,11 +1,14 @@
set(output_dir ${CMAKE_BINARY_DIR}/bin)
get_git_hash(GIT_COMMIT_HASH)
string(STRIP ${GIT_COMMIT_HASH} GIT_COMMIT_HASH)
# The case here is deliberately not matching the executable name
# This means the custom command doesn't create this output file,
# which causes CMake to rerun this target every time so that Qt
# can do dependency checking and rebuild anything necessary.
add_custom_command(OUTPUT QRenderDoc
COMMAND qmake "CONFIG+=debug" "DESTDIR=${output_dir}" ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND qmake "CONFIG+=debug" "DEFINES+=GIT_COMMIT_HASH_LITERAL=${GIT_COMMIT_HASH}" "DESTDIR=${output_dir}" ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND MAKEFLAGS= make --no-print-directory)
add_custom_target(build-qrenderdoc ALL DEPENDS QRenderDoc)
+1 -1
View File
@@ -90,7 +90,7 @@ BEGIN
VALUE "LegalCopyright", "Copyright © 2016 Baldur Karlsson"
VALUE "OriginalFilename", "qrenderdoc.exe"
VALUE "ProductName", "RenderDoc"
VALUE "ProductVersion", RENDERDOC_VERSION_STRING ".0.0"
VALUE "ProductVersion", RENDERDOC_VERSION_STRING "-" GIT_COMMIT_HASH
END
END
BLOCK "VarFileInfo"
+6 -4
View File
@@ -2,11 +2,13 @@
// Microsoft Visual C++ generated include file.
// Used by qrenderdoc.rc
//
#define STR(a) #a
#include "version.h"
#define RENDERDOC_VERSION_MAJOR 0
#define RENDERDOC_VERSION_MINOR 32
#define RENDERDOC_VERSION_STRING STR(RENDERDOC_VERSION_MAJOR) "." STR(RENDERDOC_VERSION_MINOR)
#ifdef GIT_COMMIT_HASH_LITERAL
#define GIT_COMMIT_HASH VER_STR(GIT_COMMIT_HASH_LITERAL)
#else
#define GIT_COMMIT_HASH "NO_GIT_COMMIT_HASH_DEFINED"
#endif
// Next default values for new objects
//
+24 -12
View File
@@ -29,15 +29,31 @@
#include <QProgressBar>
#include "Code/CaptureContext.h"
#include "Code/QRDUtils.h"
#include "Resources/resource.h"
#include "Windows/Dialogs/AboutDialog.h"
#include "Windows/Dialogs/CaptureDialog.h"
#include "EventBrowser.h"
#include "TextureViewer.h"
#include "ui_MainWindow.h"
#include "version.h"
#define JSON_ID "rdocLayoutData"
#define JSON_VER 1
struct Version
{
static bool isOfficialVersion() { return QString(GIT_COMMIT_HASH).indexOf("-official") > 0; }
static bool isBetaVersion() { return QString(GIT_COMMIT_HASH).indexOf("-beta") > 0; }
static QString bareString() { return RENDERDOC_VERSION_STRING; }
static QString string() { return "v" RENDERDOC_VERSION_STRING; }
static QString gitCommitHash()
{
return QString(GIT_COMMIT_HASH).replace("-official", "").replace("-beta", "");
}
static bool isMismatched() { return RENDERDOC_GetVersionString() != bareString(); }
};
MainWindow::MainWindow(CaptureContext *ctx) : QMainWindow(NULL), ui(new Ui::MainWindow), m_Ctx(ctx)
{
ui->setupUi(this);
@@ -605,19 +621,15 @@ void MainWindow::SetTitle(const QString &filename)
QString text = prefix + "RenderDoc ";
// TODO Versioning
/*
if(OfficialVersion)
text += VersionString;
else if(BetaVersion)
text += String.Format("{0}-beta - {1}", VersionString, GitCommitHash);
else */
text +=
tr("Unofficial release (%1 - %2)").arg(RENDERDOC_GetVersionString()).arg(RENDERDOC_GetCommitHash());
if(Version::isOfficialVersion())
text += Version::string();
else if(Version::isBetaVersion())
text += tr("%1-beta - %2").arg(Version::string()).arg(Version::gitCommitHash());
else
text += tr("Unofficial release (%1 - %2)").arg(Version::string()).arg(Version::gitCommitHash());
// TODO Versioning
// if(IsVersionMismatched())
// text += " - !! VERSION MISMATCH DETECTED !!";
if(Version::isMismatched())
text += " - !! VERSION MISMATCH DETECTED !!";
setWindowTitle(text);
}
+1
View File
@@ -25,6 +25,7 @@ INCLUDEPATH += $$_PRO_FILE_PWD_/3rdparty/flowlayout
# Different output folders per platform
win32 {
RC_INCLUDEPATH = $$_PRO_FILE_PWD_/../renderdoc/api/replay
RC_FILE = Resources/qrenderdoc.rc
# it is fine to alias these across targets, because the output
+4
View File
@@ -144,6 +144,7 @@
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;WIN32;WIN64;RENDERDOC_PLATFORM_WIN32;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -189,6 +190,7 @@
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;WIN32;WIN64;RENDERDOC_PLATFORM_WIN32;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Development|x64'">
@@ -231,6 +233,7 @@
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;WIN32;WIN64;RENDERDOC_PLATFORM_WIN32;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Development|Win32'">
@@ -273,6 +276,7 @@
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;WIN32;WIN64;RENDERDOC_PLATFORM_WIN32;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
+1 -1
View File
@@ -71,6 +71,7 @@ set(sources
api/replay/replay_enums.h
api/replay/shader_types.h
api/replay/vk_pipestate.h
api/replay/version.h
common/common.cpp
common/common.h
common/custom_assert.h
@@ -98,7 +99,6 @@ set(sources
data/glsl/gl_texsample.h
data/glsl_shaders.cpp
data/glsl_shaders.h
data/version.h
hooks/hooks.cpp
hooks/hooks.h
maths/camera.cpp
@@ -24,7 +24,10 @@
#pragma once
#define VER_STR2(a) #a
#define VER_STR(a) VER_STR2(a)
#define RENDERDOC_VERSION_MAJOR 0
#define RENDERDOC_VERSION_MINOR 32
#define RENDERDOC_VERSION_STRING \
STRINGIZE(RENDERDOC_VERSION_MAJOR) "." STRINGIZE(RENDERDOC_VERSION_MINOR)
VER_STR(RENDERDOC_VERSION_MAJOR) "." VER_STR(RENDERDOC_VERSION_MINOR)
+1 -1
View File
@@ -26,9 +26,9 @@
#include "core/core.h"
#include <time.h>
#include <algorithm>
#include "api/replay/version.h"
#include "common/common.h"
#include "common/dds_readwrite.h"
#include "data/version.h"
#include "hooks/hooks.h"
#include "replay/replay_driver.h"
#include "serialise/serialiser.h"
+1 -1
View File
@@ -90,7 +90,7 @@ BEGIN
VALUE "LegalCopyright", "Copyright © 2016 Baldur Karlsson"
VALUE "OriginalFilename", "renderdoc.dll"
VALUE "ProductName", "RenderDoc"
VALUE "ProductVersion", RENDERDOC_VERSION_STRING ".0.0"
VALUE "ProductVersion", RENDERDOC_VERSION_STRING "-" GIT_COMMIT_HASH
END
END
BLOCK "VarFileInfo"
+1 -6
View File
@@ -40,11 +40,6 @@
#define RESOURCE_glsl_deptharr2ms_frag 426
#define RESOURCE_glsl_depthms2arr_frag 427
#if !defined(STRINGIZE)
#define STRINGIZE2(a) #a
#define STRINGIZE(a) STRINGIZE2(a)
#endif
#define GIT_COMMIT_HASH "NO_GIT_COMMIT_HASH_DEFINED"
//#define RENDERDOC_OFFICIAL_BUILD // used to determine whether to submit auto crash reports
@@ -59,4 +54,4 @@
#endif
#endif
#include "version.h"
#include "api/replay/version.h"
+1 -1
View File
@@ -24,9 +24,9 @@
#include <stdlib.h>
#include <string.h>
#include "api/replay/version.h"
#include "common/common.h"
#include "common/threading.h"
#include "data/version.h"
#include "hooks/hooks.h"
#include "official/vk_layer.h"
#include "os/os_specific.h"
+1 -1
View File
@@ -240,6 +240,7 @@
<ClInclude Include="api\replay\renderdoc_replay.h" />
<ClInclude Include="api\replay\replay_enums.h" />
<ClInclude Include="api\replay\shader_types.h" />
<ClInclude Include="api\replay\version.h" />
<ClInclude Include="api\replay\vk_pipestate.h" />
<ClInclude Include="common\common.h" />
<ClInclude Include="common\custom_assert.h" />
@@ -261,7 +262,6 @@
<ClInclude Include="data\glsl_shaders.h" />
<ClInclude Include="data\hlsl\debugcbuffers.h" />
<ClInclude Include="data\resource.h" />
<ClInclude Include="data\version.h" />
<ClInclude Include="hooks\hooks.h" />
<ClInclude Include="maths\camera.h" />
<ClInclude Include="maths\formatpacking.h" />
+3 -3
View File
@@ -159,9 +159,6 @@
<ClInclude Include="os\win32\win32_hook.h">
<Filter>OS\Win32</Filter>
</ClInclude>
<ClInclude Include="data\version.h">
<Filter>Resources</Filter>
</ClInclude>
<ClInclude Include="api\replay\basic_types.h">
<Filter>API\Replay</Filter>
</ClInclude>
@@ -261,6 +258,9 @@
<ClInclude Include="3rdparty\stb\stb_image_resize.h">
<Filter>3rdparty\stb</Filter>
</ClInclude>
<ClInclude Include="api\replay\version.h">
<Filter>API\Replay</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="maths\camera.cpp">
+1 -1
View File
@@ -25,9 +25,9 @@
#include <sstream>
#include "api/replay/renderdoc_replay.h"
#include "api/replay/version.h"
#include "common/common.h"
#include "core/core.h"
#include "data/version.h"
#include "jpeg-compressor/jpgd.h"
#include "jpeg-compressor/jpge.h"
#include "maths/camera.h"
Binary file not shown.
+17 -5
View File
@@ -93,7 +93,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;RENDERDOC_PLATFORM_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)renderdocshim\;$(SolutionDir)renderdoc\api\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)renderdocshim\;$(SolutionDir)renderdoc\api\;$(SolutionDir)renderdoc\api\replay;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
@@ -102,6 +102,9 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>psapi.lib;ws2_32.lib;Wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Development|x64'">
<ClCompile>
@@ -110,7 +113,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;WIN64;RENDERDOC_PLATFORM_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)renderdocshim\;$(SolutionDir)renderdoc\api\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)renderdocshim\;$(SolutionDir)renderdoc\api\;$(SolutionDir)renderdoc\api\replay;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
@@ -119,6 +122,9 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>psapi.lib;ws2_32.lib;Wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@@ -129,7 +135,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;RENDERDOC_PLATFORM_WIN32;NDEBUG;RELEASE;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)renderdocshim\;$(SolutionDir)renderdoc\api\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)renderdocshim\;$(SolutionDir)renderdoc\api\;$(SolutionDir)renderdoc\api\replay;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
@@ -139,6 +145,9 @@
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\breakpad_common.lib;$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\crash_generation_server.lib;psapi.lib;ws2_32.lib;Wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
@@ -149,7 +158,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;WIN64;RENDERDOC_PLATFORM_WIN32;NDEBUG;RELEASE;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)renderdocshim\;$(SolutionDir)renderdoc\api\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)renderdocshim\;$(SolutionDir)renderdoc\api\;$(SolutionDir)renderdoc\api\replay;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
<TreatWarningAsError>true</TreatWarningAsError>
</ClCompile>
<Link>
@@ -159,6 +168,9 @@
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\breakpad_common.lib;$(SolutionDir)\renderdoc\3rdparty\breakpad\$(Platform)\$(Configuration)\crash_generation_server.lib;psapi.lib;ws2_32.lib;Wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\renderdoc\3rdparty\miniz\miniz.c" />
@@ -200,4 +212,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>
Binary file not shown.
+1 -1
View File
@@ -103,7 +103,7 @@ if [[ $AUTOBUILD -eq 0 ]]; then
read;
fi
VERSION=`grep -E "#define RENDERDOC_VERSION_(MAJOR|MINOR)" renderdoc/data/version.h | tr -dc '[0-9\n]' | tr '\n' '.' | grep -Eo '[0-9]+\.[0-9]+'`
VERSION=`grep -E "#define RENDERDOC_VERSION_(MAJOR|MINOR)" renderdoc/api/replay/version.h | tr -dc '[0-9\n]' | tr '\n' '.' | grep -Eo '[0-9]+\.[0-9]+'`
export RENDERDOC_VERSION="${VERSION}.0"
+2
View File
@@ -10,5 +10,7 @@ GIT_HASH=`git status > /dev/null 2>&1 && git rev-parse HEAD || echo NO_GIT_COMMI
rm -f ver
sed -b "s/NO_GIT_COMMIT_HASH_DEFINED/$GIT_HASH$1/" renderdoc/data/resource.h > ver && mv ver renderdoc/data/resource.h
sed -b "s/NO_GIT_COMMIT_HASH_DEFINED/$GIT_HASH$1/" qrenderdoc/Resources/resource.h > ver && mv ver qrenderdoc/Resources/resource.h
sed -b "s/NO_GIT_COMMIT_HASH_DEFINED/$GIT_HASH$1/" renderdoccmd/resource.h > ver && mv ver renderdoccmd/resource.h
sed -b "s/NO_GIT_COMMIT_HASH_DEFINED/$GIT_HASH$1/" renderdocui/Properties/AssemblyInfo.cs > ver && mv ver renderdocui/Properties/AssemblyInfo.cs
rm -f ver