summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
diff options
context:
space:
mode:
authorWil Stark <wil_stark@keysight.com>2019-02-19 23:02:34 (GMT)
committerBrad King <brad.king@kitware.com>2019-02-25 14:14:15 (GMT)
commit917c035ada212cec47f92b51449b554526119372 (patch)
tree0aac592abaa8f35ec58acf03a082514241260103 /Help/prop_tgt
parent7574e16096abe57d44cde4e6380a22d940cde98c (diff)
downloadCMake-917c035ada212cec47f92b51449b554526119372.zip
CMake-917c035ada212cec47f92b51449b554526119372.tar.gz
CMake-917c035ada212cec47f92b51449b554526119372.tar.bz2
VS: support suppressing deployment of selected targets
Add a `VS_NO_SOLUTION_DEPLOY` target property to explicitly specify for each target whether to suppress VS solution deployment of the generated target project. Fixes: #18953
Diffstat (limited to 'Help/prop_tgt')
-rw-r--r--Help/prop_tgt/VS_NO_SOLUTION_DEPLOY.rst46
1 files changed, 46 insertions, 0 deletions
diff --git a/Help/prop_tgt/VS_NO_SOLUTION_DEPLOY.rst b/Help/prop_tgt/VS_NO_SOLUTION_DEPLOY.rst
new file mode 100644
index 0000000..ffcbde5
--- /dev/null
+++ b/Help/prop_tgt/VS_NO_SOLUTION_DEPLOY.rst
@@ -0,0 +1,46 @@
+VS_NO_SOLUTION_DEPLOY
+---------------------
+
+Specify that the target should not be marked for deployment to a Windows CE
+or Windows Phone device in the generated Visual Studio solution.
+
+Be default, all EXE and shared library (DLL) targets are marked to deploy to
+the target device in the generated Visual Studio solution.
+
+Generator expressions are supported.
+
+There are reasons one might want to exclude a target / generated project from
+deployment:
+
+- The library or executable may not be necessary in the primary deploy/debug
+ scenario, and excluding from deployment saves time in the
+ develop/download/debug cycle.
+- There may be insufficient space on the target device to accommodate all of
+ the build products.
+- Visual Studio 2013 requires a target device IP address be entered for each
+ target marked for deployment. For large numbers of targets, this can be
+ tedious.
+ NOTE: Visual Studio *will* deploy all project dependencies of a project
+ tagged for deployment to the IP address configured for that project even
+ if those dependencies are not tagged for deployment.
+
+
+Example 1
+^^^^^^^^^
+
+This shows setting the variable for the target foo.
+
+.. code-block:: cmake
+
+ add_library(foo SHARED foo.cpp)
+ set_property(TARGET foo PROPERTY VS_NO_SOLUTION_DEPLOY ON)
+
+Example 2
+^^^^^^^^^
+
+This shows setting the variable for the Release configuration only.
+
+.. code-block:: cmake
+
+ add_library(foo SHARED foo.cpp)
+ set_property(TARGET foo PROPERTY VS_NO_SOLUTION_DEPLOY "$<CONFIG:Release>")