mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-07 06:09:52 -06:00
VS: Add source file property to set extra hlsl shader flags
Create a VS_SHADER_FLAGS source file property so that we can set all other Visual Studio .hlsl shader file compilation flags.
This commit is contained in:
@@ -1211,6 +1211,7 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
|
||||
std::string shaderType;
|
||||
std::string shaderEntryPoint;
|
||||
std::string shaderModel;
|
||||
std::string shaderAdditionalFlags;
|
||||
std::string ext = cmSystemTools::LowerCase(sf->GetExtension());
|
||||
if(ext == "hlsl")
|
||||
{
|
||||
@@ -1233,6 +1234,12 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
|
||||
shaderModel = sm;
|
||||
toolHasSettings = true;
|
||||
}
|
||||
// Figure out if there's any additional flags to use
|
||||
if (const char* saf = sf->GetProperty("VS_SHADER_FLAGS"))
|
||||
{
|
||||
shaderAdditionalFlags = saf;
|
||||
toolHasSettings = true;
|
||||
}
|
||||
}
|
||||
else if(ext == "jpg" ||
|
||||
ext == "png")
|
||||
@@ -1342,6 +1349,12 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
|
||||
(*this->BuildFileStream) << cmVS10EscapeXML(shaderModel)
|
||||
<< "</ShaderModel>\n";
|
||||
}
|
||||
if(!shaderAdditionalFlags.empty())
|
||||
{
|
||||
this->WriteString("<AdditionalOptions>", 3);
|
||||
(*this->BuildFileStream) << cmVS10EscapeXML(shaderAdditionalFlags)
|
||||
<< "</AdditionalOptions>\n";
|
||||
}
|
||||
this->WriteString("</", 2);
|
||||
(*this->BuildFileStream) << tool << ">\n";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user