summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorMichael Stürmer <michael.stuermer@schaeffler.com>2017-01-17 15:09:38 (GMT)
committerMichael Stürmer <michael.stuermer@schaeffler.com>2017-01-18 14:51:22 (GMT)
commit90cb40832375fa880b792ca9bf5cdd3071912f9d (patch)
treeb3611ff2d49746cf01caee5c0407b3918e9034d6 /Help
parentcab8f26211051a24ceb0e512660f022c9960f241 (diff)
downloadCMake-90cb40832375fa880b792ca9bf5cdd3071912f9d.zip
CMake-90cb40832375fa880b792ca9bf5cdd3071912f9d.tar.gz
CMake-90cb40832375fa880b792ca9bf5cdd3071912f9d.tar.bz2
VS: improve handling of source files with special extensions in .csproj
Mainly <Link> and <DependentUpon> tags are added to connect generated and manually edited files. Special file extensions that are take care of are: - .Designer.cs - .xaml.cs - .settings - .resx - .xaml
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-properties.7.rst3
-rw-r--r--Help/prop_sf/VS_COPY_TO_OUT_DIR.rst6
-rw-r--r--Help/prop_sf/VS_INCLUDE_IN_VSIX.rst6
-rw-r--r--Help/prop_sf/VS_RESOURCE_GENERATOR.rst8
-rw-r--r--Help/release/dev/vs-advanced-source-properties.rst12
-rw-r--r--Help/release/dev/vs-csharp-support.rst13
6 files changed, 46 insertions, 2 deletions
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index 864d1dc..03178a1 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -362,8 +362,11 @@ Properties on Source Files
/prop_sf/SKIP_AUTORCC
/prop_sf/SKIP_AUTOUIC
/prop_sf/SYMBOLIC
+ /prop_sf/VS_COPY_TO_OUT_DIR
/prop_sf/VS_DEPLOYMENT_CONTENT
/prop_sf/VS_DEPLOYMENT_LOCATION
+ /prop_sf/VS_INCLUDE_IN_VSIX
+ /prop_sf/VS_RESOURCE_GENERATOR
/prop_sf/VS_SHADER_ENTRYPOINT
/prop_sf/VS_SHADER_FLAGS
/prop_sf/VS_SHADER_MODEL
diff --git a/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst b/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
new file mode 100644
index 0000000..16c8d83
--- /dev/null
+++ b/Help/prop_sf/VS_COPY_TO_OUT_DIR.rst
@@ -0,0 +1,6 @@
+VS_COPY_TO_OUT_DIR
+------------------
+
+Sets the ``<CopyToOutputDirectory>`` tag for a source file in a
+Visual Studio project file. Valid values are ``Never``, ``Always``
+and ``PreserveNewest``.
diff --git a/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst b/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
new file mode 100644
index 0000000..30f471d
--- /dev/null
+++ b/Help/prop_sf/VS_INCLUDE_IN_VSIX.rst
@@ -0,0 +1,6 @@
+VS_INCLUDE_IN_VSIX
+------------------
+
+Boolean property to specify if the file should be included within a VSIX
+extension package. This is needed for development of Visual Studio
+extensions.
diff --git a/Help/prop_sf/VS_RESOURCE_GENERATOR.rst b/Help/prop_sf/VS_RESOURCE_GENERATOR.rst
new file mode 100644
index 0000000..97e5aac
--- /dev/null
+++ b/Help/prop_sf/VS_RESOURCE_GENERATOR.rst
@@ -0,0 +1,8 @@
+VS_RESOURCE_GENERATOR
+---------------------
+
+This property allows to specify the resource generator to be used
+on this file. It defaults to ``PublicResXFileCodeGenerator`` if
+not set.
+
+This property only applies to C# projects.
diff --git a/Help/release/dev/vs-advanced-source-properties.rst b/Help/release/dev/vs-advanced-source-properties.rst
new file mode 100644
index 0000000..dd391e0
--- /dev/null
+++ b/Help/release/dev/vs-advanced-source-properties.rst
@@ -0,0 +1,12 @@
+vs-advanced-source-properties
+-----------------------------
+
+* The :ref:`Visual Studio Generators` for VS 2010 and above
+ learned some more source file properties:
+
+ - :prop_sf:`VS_RESOURCE_GENERATOR` (C# only): allows setting the resource
+ generator
+ - :prop_sf:`VS_COPY_TO_OUT_DIR`: parameter to set if file should be copied
+ to output directory (values: ``Never``, ``Always``, ``PreserveNewest``)
+ - :prop_sf:`VS_INCLUDE_IN_VSIX`: boolean property to include file include
+ Visual Studio extension package
diff --git a/Help/release/dev/vs-csharp-support.rst b/Help/release/dev/vs-csharp-support.rst
index 26d8574..46b235a 100644
--- a/Help/release/dev/vs-csharp-support.rst
+++ b/Help/release/dev/vs-csharp-support.rst
@@ -19,7 +19,16 @@ vs-native-csharp-support
that specifically targets C# contains ``CSharp`` as a part of
their names.
-* More finetuning of C# targets can be done using target
- properties. Specifically the Visual Studio related target
+* More finetuning of C# targets can be done using target and source
+ file properties. Specifically the Visual Studio related target
properties (``VS_*``) are worth a look (for setting toolset
versions, root namespaces, assembly icons, ...).
+
+* **Auto-"linking"** in .csproj files: In C#/.NET development with
+ Visual Studio there is a number of visual editors used which
+ generate code. Both the generated files and the ones edited
+ with the UI are connected in the ``.csproj`` file using
+ ``<DependentUpon>`` tags. If CMake finds within a C# project
+ any source file with extension ``.Designer.cs`` or ``.xaml.cs``,
+ it checks sibling files with extension ``.xaml``, ``.settings``,
+ ``.resx`` or ``.cs`` and establishes the dependency connection.