[Cmake-commits] CMake branch, next, updated. v3.1.1-2402-g8dced12
Brad King
brad.king at kitware.com
Tue Jan 27 12:58:04 EST 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 8dced126375dba8ba8a4d8718331c77898e0da68 (commit)
via 6b9bd82789d918843753e30fd798af89b85c6453 (commit)
from a64545de6ce4da2f2dc50deecc632ccf8e2d4ef8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8dced126375dba8ba8a4d8718331c77898e0da68
commit 8dced126375dba8ba8a4d8718331c77898e0da68
Merge: a64545d 6b9bd82
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Jan 27 12:58:03 2015 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Jan 27 12:58:03 2015 -0500
Merge topic 'vs-shader-flags' into next
6b9bd827 VS: Add source file property to set extra hlsl shader flags
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6b9bd82789d918843753e30fd798af89b85c6453
commit 6b9bd82789d918843753e30fd798af89b85c6453
Author: Robert Goulet <robert.goulet at autodesk.com>
AuthorDate: Mon Jan 26 14:16:42 2015 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Jan 27 12:55:43 2015 -0500
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.
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index 68954c5..25f989f 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -294,6 +294,7 @@ Properties on Source Files
/prop_sf/VS_DEPLOYMENT_CONTENT
/prop_sf/VS_DEPLOYMENT_LOCATION
/prop_sf/VS_SHADER_ENTRYPOINT
+ /prop_sf/VS_SHADER_FLAGS
/prop_sf/VS_SHADER_MODEL
/prop_sf/VS_SHADER_TYPE
/prop_sf/WRAP_EXCLUDE
diff --git a/Help/prop_sf/VS_SHADER_FLAGS.rst b/Help/prop_sf/VS_SHADER_FLAGS.rst
new file mode 100644
index 0000000..0901123
--- /dev/null
+++ b/Help/prop_sf/VS_SHADER_FLAGS.rst
@@ -0,0 +1,4 @@
+VS_SHADER_FLAGS
+---------------
+
+Set additional VS shader flags of a ``.hlsl`` source file.
diff --git a/Help/release/dev/vs-shader-flags.rst b/Help/release/dev/vs-shader-flags.rst
new file mode 100644
index 0000000..0d3f6cc
--- /dev/null
+++ b/Help/release/dev/vs-shader-flags.rst
@@ -0,0 +1,5 @@
+vs-shader-flags
+---------------
+
+* A :prop_sf:`VS_SHADER_FLAGS` source file property was added to specify
+ additional shader flags to ``.hlsl`` files, for the Visual Studio generators.
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index b265c0e..d2f6ffd 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -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";
}
diff --git a/Tests/VSWinStorePhone/CMakeLists.txt b/Tests/VSWinStorePhone/CMakeLists.txt
index 7227fcc..719a594 100644
--- a/Tests/VSWinStorePhone/CMakeLists.txt
+++ b/Tests/VSWinStorePhone/CMakeLists.txt
@@ -110,10 +110,12 @@ set_property(SOURCE ${RELEASE_CONTENT_FILES} PROPERTY
set_property(SOURCE ${PIXELSHADER_FILES} PROPERTY VS_SHADER_TYPE Pixel)
set_property(SOURCE ${PIXELSHADER_FILES} PROPERTY VS_SHADER_ENTRYPOINT mainPS)
set_property(SOURCE ${PIXELSHADER_FILES} PROPERTY VS_SHADER_MODEL 4.0_level_9_3)
+set_property(SOURCE ${PIXELSHADER_FILES} PROPERTY VS_SHADER_FLAGS "/Fh $(OutDir)%(Filename).h")
set_property(SOURCE ${VERTEXSHADER_FILES} PROPERTY VS_SHADER_TYPE Vertex)
set_property(SOURCE ${VERTEXSHADER_FILES} PROPERTY VS_SHADER_ENTRYPOINT mainVS)
set_property(SOURCE ${VERTEXSHADER_FILES} PROPERTY VS_SHADER_MODEL 4.0_level_9_3)
+set_property(SOURCE ${VERTEXSHADER_FILES} PROPERTY VS_SHADER_FLAGS "/Fh $(OutDir)%(Filename).h")
source_group("Source Files" FILES ${SOURCE_FILES})
-----------------------------------------------------------------------
Summary of changes:
Help/manual/cmake-properties.7.rst | 1 +
Help/prop_sf/VS_SHADER_FLAGS.rst | 4 ++++
Help/release/dev/vs-shader-flags.rst | 5 +++++
Source/cmVisualStudio10TargetGenerator.cxx | 13 +++++++++++++
Tests/VSWinStorePhone/CMakeLists.txt | 2 ++
5 files changed, 25 insertions(+)
create mode 100644 Help/prop_sf/VS_SHADER_FLAGS.rst
create mode 100644 Help/release/dev/vs-shader-flags.rst
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list