diff options
Diffstat (limited to 'Help')
-rw-r--r-- | Help/command/add_custom_command.rst | 11 | ||||
-rw-r--r-- | Help/command/add_custom_target.rst | 9 | ||||
-rw-r--r-- | Help/command/ctest_submit.rst | 8 | ||||
-rw-r--r-- | Help/command/source_group.rst | 18 | ||||
-rw-r--r-- | Help/manual/cmake-properties.7.rst | 3 | ||||
-rw-r--r-- | Help/prop_tgt/MANUALLY_ADDED_DEPENDENCIES.rst | 8 | ||||
-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.rst | 5 | ||||
-rw-r--r-- | Help/release/dev/expand_custom_commands.rst | 7 | ||||
-rw-r--r-- | Help/release/dev/manually-added-dependencies.rst | 6 | ||||
-rw-r--r-- | Help/release/dev/source_group-tree.rst | 5 | ||||
-rw-r--r-- | Help/release/dev/vs-csharp-support.rst | 25 | ||||
-rw-r--r-- | Help/release/dev/vs-custom-msbuild-props.rst | 2 |
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. |