From ce5fd43b0c9c60ad85e7c5a54161b37897640ea6 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 28 Aug 2019 16:29:40 -0400 Subject: 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. --- source/slang/slang-compiler.h | 2 ++ source/slang/slang-options.cpp | 4 ++++ source/slang/slang.cpp | 6 ++++++ 3 files changed, 12 insertions(+) (limited to 'source') 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; -- cgit v1.2.3