summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2019-08-28 16:29:40 -0400
committerGitHub <noreply@github.com>2019-08-28 16:29:40 -0400
commitce5fd43b0c9c60ad85e7c5a54161b37897640ea6 (patch)
treea3828c8f717a4fcae3b36b7f4f046cc30ef4cffc /source
parentfecfb36e61c3bdb133b57713c2b6d27ff7924a9b (diff)
Support for getting git version from IGlobalSession (#1040)
* Added slang-tag-version.h and travis code to generate the file. * Generate slang-tag-version.h on appveyor. * Move where slang-tag-version.h is generated on appveyor. * Dump slang-tag-version.h to console on travis. * Cat slang-tag-version.h * Added method getBuildTagVersion to IGlobalSession. Added -v option.
Diffstat (limited to 'source')
-rw-r--r--source/slang/slang-compiler.h2
-rw-r--r--source/slang/slang-options.cpp4
-rw-r--r--source/slang/slang.cpp6
3 files changed, 12 insertions, 0 deletions
diff --git a/source/slang/slang-compiler.h b/source/slang/slang-compiler.h
index a6be59c76..0b97e2af7 100644
--- a/source/slang/slang-compiler.h
+++ b/source/slang/slang-compiler.h
@@ -1807,6 +1807,8 @@ namespace Slang
SlangPassThrough inPassThrough,
char const* prelude) override;
+ SLANG_NO_THROW const char* SLANG_MCALL getBuildTagString() override;
+
enum class SharedLibraryFuncType
{
Glslang_Compile,
diff --git a/source/slang/slang-options.cpp b/source/slang/slang-options.cpp
index a55322d31..94f82ef31 100644
--- a/source/slang/slang-options.cpp
+++ b/source/slang/slang-options.cpp
@@ -800,6 +800,10 @@ struct OptionsParser
return SLANG_FAIL;
}
}
+ else if (argStr == "-v")
+ {
+ sink->diagnoseRaw(Severity::Note, session->getBuildTagString());
+ }
else if (argStr == "--")
{
// The `--` option causes us to stop trying to parse options,
diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp
index 601312def..da04587fd 100644
--- a/source/slang/slang.cpp
+++ b/source/slang/slang.cpp
@@ -1,4 +1,5 @@
#include "../../slang.h"
+#include "../../slang-tag-version.h"
#include "../core/slang-io.h"
#include "../core/slang-string-util.h"
@@ -201,6 +202,11 @@ SLANG_NO_THROW void SLANG_MCALL Session::setDownstreamCompilerPrelude(
m_downstreamCompilerPreludes[int(passThrough)] = prelude;
}
+SLANG_NO_THROW const char* SLANG_MCALL Session::getBuildTagString()
+{
+ return SLANG_TAG_VERSION;
+}
+
struct IncludeHandlerImpl : IncludeHandler
{
Linkage* linkage;