summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
Diffstat (limited to 'Help')
-rw-r--r--Help/command/add_custom_command.rst11
-rw-r--r--Help/command/add_custom_target.rst9
-rw-r--r--Help/command/ctest_submit.rst8
-rw-r--r--Help/command/source_group.rst18
-rw-r--r--Help/manual/cmake-properties.7.rst3
-rw-r--r--Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst8
-rw-r--r--Help/prop_tgt/VS_USER_PROPS.rst (renamed from Help/prop_tgt/VS_USER_PROPS_CXX.rst)4
-rw-r--r--Help/release/dev/cdash_upload_retry.rst5
-rw-r--r--Help/release/dev/expand_custom_commands.rst7
-rw-r--r--Help/release/dev/manually-added-dependencies.rst6
-rw-r--r--Help/release/dev/source_group-tree.rst5
-rw-r--r--Help/release/dev/vs-csharp-support.rst25
-rw-r--r--Help/release/dev/vs-custom-msbuild-props.rst2
13 files changed, 103 insertions, 8 deletions
diff --git a/Help/command/add_custom_command.rst b/Help/command/add_custom_command.rst
index 4ab4298..80e7edf 100644
--- a/Help/command/add_custom_command.rst
+++ b/Help/command/add_custom_command.rst
@@ -21,7 +21,8 @@ The first signature is for adding a custom command to produce an output::
[WORKING_DIRECTORY dir]
[COMMENT comment]
[DEPFILE depfile]
- [VERBATIM] [APPEND] [USES_TERMINAL])
+ [VERBATIM] [APPEND] [USES_TERMINAL]
+ [COMMAND_EXPAND_LISTS])
This defines a command to generate specified ``OUTPUT`` file(s).
A target created in the same directory (``CMakeLists.txt`` file)
@@ -122,6 +123,14 @@ The options are:
Arguments to ``DEPENDS`` may use
:manual:`generator expressions <cmake-generator-expressions(7)>`.
+``COMMAND_EXPAND_LISTS``
+ Lists in ``COMMAND`` arguments will be expanded, including those
+ created with
+ :manual:`generator expressions <cmake-generator-expressions(7)>`,
+ allowing ``COMMAND`` arguments such as
+ ``${CC} "-I$<JOIN:$<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>,;-I>" foo.cc``
+ to be properly expanded.
+
``IMPLICIT_DEPENDS``
Request scanning of implicit dependencies of an input file.
The language given specifies the programming language whose
diff --git a/Help/command/add_custom_target.rst b/Help/command/add_custom_target.rst
index 6980d61..bd61c8b 100644
--- a/Help/command/add_custom_target.rst
+++ b/Help/command/add_custom_target.rst
@@ -12,6 +12,7 @@ Add a target with no output so it will always be built.
[WORKING_DIRECTORY dir]
[COMMENT comment]
[VERBATIM] [USES_TERMINAL]
+ [COMMAND_EXPAND_LISTS]
[SOURCES src1 [src2...]])
Adds a target with the given name that executes the given commands.
@@ -88,6 +89,14 @@ The options are:
Use the :command:`add_dependencies` command to add dependencies
on other targets.
+``COMMAND_EXPAND_LISTS``
+ Lists in ``COMMAND`` arguments will be expanded, including those
+ created with
+ :manual:`generator expressions <cmake-generator-expressions(7)>`,
+ allowing ``COMMAND`` arguments such as
+ ``${CC} "-I$<JOIN:$<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES>,;-I>" foo.cc``
+ to be properly expanded.
+
``SOURCES``
Specify additional source files to be included in the custom target.
Specified source files will be added to IDE project files for
diff --git a/Help/command/ctest_submit.rst b/Help/command/ctest_submit.rst
index 6830b59..a7d9708 100644
--- a/Help/command/ctest_submit.rst
+++ b/Help/command/ctest_submit.rst
@@ -56,10 +56,16 @@ Submit to CDash Upload API
::
- ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>])
+ ctest_submit(CDASH_UPLOAD <file> [CDASH_UPLOAD_TYPE <type>]
+ [RETRY_COUNT <count>]
+ [RETRY_DELAY <delay>]
+ [QUIET])
This second signature is used to upload files to CDash via the CDash
file upload API. The api first sends a request to upload to CDash along
with a content hash of the file. If CDash does not already have the file,
then it is uploaded. Along with the file, a CDash type string is specified
to tell CDash which handler to use to process the data.
+
+This signature accepts the ``RETRY_COUNT``, ``RETRY_DELAY``, and ``QUIET``
+options as described above.
diff --git a/Help/command/source_group.rst b/Help/command/source_group.rst
index 6e3829c..938ca40 100644
--- a/Help/command/source_group.rst
+++ b/Help/command/source_group.rst
@@ -2,15 +2,27 @@ source_group
------------
Define a grouping for source files in IDE project generation.
+There are two different signatures to create source groups.
-.. code-block:: cmake
+::
source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
+ source_group(TREE <root> [PREFIX <prefix>] [FILES <src>...])
Defines a group into which sources will be placed in project files.
This is intended to set up file tabs in Visual Studio.
The options are:
+``TREE``
+ CMake will automatically detect, from ``<src>`` files paths, source groups
+ it needs to create, to keep structure of source groups analogically to the
+ actual files and directories structure in the project. Paths of ``<src>``
+ files will be cut to be relative to ``<root>``.
+
+``PREFIX``
+ Source group and files located directly in ``<root>`` path, will be placed
+ in ``<prefix>`` source groups.
+
``FILES``
Any source file specified explicitly will be placed in group
``<name>``. Relative paths are interpreted with respect to the
@@ -25,11 +37,13 @@ explicitly lists the file with ``FILES`` will be favored, if any.
If no group explicitly lists the file, the *last* group whose
regular expression matches the file will be favored.
-The ``<name>`` of the group may contain backslashes to specify subgroups:
+The ``<name>`` of the group and ``<prefix>`` argument may contain backslashes
+to specify subgroups:
.. code-block:: cmake
source_group(outer\\inner ...)
+ source_group(TREE <root> PREFIX sources\\inc ...)
For backwards compatibility, the short-hand signature
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index c93ace1..5b39bed 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -236,6 +236,7 @@ Properties on Targets
/prop_tgt/MACOSX_BUNDLE
/prop_tgt/MACOSX_FRAMEWORK_INFO_PLIST
/prop_tgt/MACOSX_RPATH
+ /prop_tgt/MANUALLY_ADDED_DEPENDENCIES
/prop_tgt/MAP_IMPORTED_CONFIG_CONFIG
/prop_tgt/NAME
/prop_tgt/NO_SONAME
@@ -291,7 +292,7 @@ Properties on Targets
/prop_tgt/VS_SCC_PROJECTNAME
/prop_tgt/VS_SCC_PROVIDER
/prop_tgt/VS_SDK_REFERENCES
- /prop_tgt/VS_USER_PROPS_CXX
+ /prop_tgt/VS_USER_PROPS
/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION
/prop_tgt/VS_WINRT_COMPONENT
/prop_tgt/VS_WINRT_EXTENSIONS
diff --git a/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst b/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
new file mode 100644
index 0000000..c12ea14
--- /dev/null
+++ b/Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst
@@ -0,0 +1,8 @@
+MANUALLY_ADDED_DEPENDENCIES
+---------------------------
+
+Get manually added dependencies to other top-level targets.
+
+This read-only property can be used to query all dependencies that
+were added for this target with the :command:`add_dependencies`
+command.
diff --git a/Help/prop_tgt/VS_USER_PROPS_CXX.rst b/Help/prop_tgt/VS_USER_PROPS.rst
index 083ce03..1be222b 100644
--- a/Help/prop_tgt/VS_USER_PROPS_CXX.rst
+++ b/Help/prop_tgt/VS_USER_PROPS.rst
@@ -1,5 +1,5 @@
-VS_USER_PROPS_CXX
------------------
+VS_USER_PROPS
+-------------
Sets the user props file to be included in the visual studio
C++ project file. The standard path is
diff --git a/Help/release/dev/cdash_upload_retry.rst b/Help/release/dev/cdash_upload_retry.rst
new file mode 100644
index 0000000..2ceb42b
--- /dev/null
+++ b/Help/release/dev/cdash_upload_retry.rst
@@ -0,0 +1,5 @@
+cdash-upload-retry
+-----------------------
+
+* The ``CDASH_UPLOAD`` signature of :command:`ctest_submit` was taught to honor
+ the ``RETRY_COUNT``, ``RETRY_DELAY``, and ``QUIET`` options.
diff --git a/Help/release/dev/expand_custom_commands.rst b/Help/release/dev/expand_custom_commands.rst
new file mode 100644
index 0000000..c8cd897
--- /dev/null
+++ b/Help/release/dev/expand_custom_commands.rst
@@ -0,0 +1,7 @@
+expand_custom_commands
+----------------------
+
+* The commands :command:`add_custom_command` and :command:`add_custom_target`
+ learned the option ``COMMAND_EXPAND_LISTS`` which causes lists in the
+ ``COMMAND`` argument to be expanded, including lists created by generator
+ expressions.
diff --git a/Help/release/dev/manually-added-dependencies.rst b/Help/release/dev/manually-added-dependencies.rst
new file mode 100644
index 0000000..6c486da
--- /dev/null
+++ b/Help/release/dev/manually-added-dependencies.rst
@@ -0,0 +1,6 @@
+manually-added-dependencies
+---------------------------
+
+* The target property :prop_tgt:`MANUALLY_ADDED_DEPENDENCIES` has
+ been added. It is read-only and could be used to retrieve
+ dependencies that have been added with :command:`add_dependencies`.
diff --git a/Help/release/dev/source_group-tree.rst b/Help/release/dev/source_group-tree.rst
new file mode 100644
index 0000000..c5fec1d
--- /dev/null
+++ b/Help/release/dev/source_group-tree.rst
@@ -0,0 +1,5 @@
+source_group-tree
+-----------------
+
+* The :command:`source_group` command gained ``TREE`` and ``PREFIX``
+ options to add groups following source tree directory structure.
diff --git a/Help/release/dev/vs-csharp-support.rst b/Help/release/dev/vs-csharp-support.rst
new file mode 100644
index 0000000..26d8574
--- /dev/null
+++ b/Help/release/dev/vs-csharp-support.rst
@@ -0,0 +1,25 @@
+vs-native-csharp-support
+------------------------
+
+* The :ref:`Visual Studio Generators` for VS 2010 and above
+ learned to support the C# language. C# assemblies and
+ programs can be added just like common C++ targets using
+ the :command:`add_library` and :command:`add_executable`
+ commands. Referencing between several C# targets in the same
+ source tree is done by :command:`target_link_libraries` like
+ for C++. Referencing to system or 3rd party assemblies is
+ done by the target properties :prop_tgt:`VS_DOTNET_REFERENCE_<refname>`
+ and :prop_tgt:`VS_DOTNET_REFERENCES`.
+
+* C# as a language can be enabled using :command:`enable_language`
+ or :command:`project` with ``CSharp``. It is not enabled by
+ default.
+
+* Flag variables, target properties and other configuration
+ 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
+ properties (``VS_*``) are worth a look (for setting toolset
+ versions, root namespaces, assembly icons, ...).
diff --git a/Help/release/dev/vs-custom-msbuild-props.rst b/Help/release/dev/vs-custom-msbuild-props.rst
index 15a5b0a..68dae42 100644
--- a/Help/release/dev/vs-custom-msbuild-props.rst
+++ b/Help/release/dev/vs-custom-msbuild-props.rst
@@ -3,7 +3,7 @@ vs-custom-msbuild-props
* The :ref:`Visual Studio Generators` for VS 2010 and above can
now be fine tuned using custom msbuild .props files.
- :prop_tgt:`VS_USER_PROPS_CXX` can be
+ :prop_tgt:`VS_USER_PROPS` can be
used to change the default path of the user .props file from
``$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props`` to
an arbitrary filename.