diff options
author | Brad King <brad.king@kitware.com> | 2024-03-28 15:50:44 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2024-03-28 15:51:02 (GMT) |
commit | c5c524394e0f02ca6ced262f92d1094c60fb072e (patch) | |
tree | dd89308cf29ed76a32205db2794547abafae5f07 /Modules | |
parent | 9dc7d28f7019213007d25b55bd1562832bccf45c (diff) | |
parent | 5d33f41e239563cc2f75b6fef1129e78a2613067 (diff) | |
download | CMake-c5c524394e0f02ca6ced262f92d1094c60fb072e.zip CMake-c5c524394e0f02ca6ced262f92d1094c60fb072e.tar.gz CMake-c5c524394e0f02ca6ced262f92d1094c60fb072e.tar.bz2 |
Merge topic 'ExternalProject-list-separator-docs-example' into release-3.29
5d33f41e23 ExternalProject: reword `LIST_SEPARATOR` to indicate what it *does*
611ffce98c ExternalProject: add an example of `LIST_SEPARATOR` usage
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9376
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/ExternalProject.cmake | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index 8b10135..965b25c 100644 --- a/Modules/ExternalProject.cmake +++ b/Modules/ExternalProject.cmake @@ -906,10 +906,21 @@ Miscellaneous Options ``LIST_SEPARATOR <sep>`` For any of the various ``..._COMMAND`` options, and ``CMAKE_ARGS``, - replace ``;`` with ``<sep>`` in the specified command lines. - This can be useful where list variables may be given in commands where - they should end up as space-separated arguments (``<sep>`` would be a - single space character string in this case). + ``ExternalProject`` will replace ``<sep>`` with ``;`` in the specified + command lines. This can be used to ensure a command has a literal ``;`` in it + where direct usage would otherwise be interpreted as argument separators to + CMake APIs instead. Note that the separator should be chosen to avoid being + confused for non-list-separator usages of the sequence. For example, using + ``LIST_SEPARATOR`` allows for passing list values to CMake cache variables on + the command line: + + .. code-block:: cmake + + ExternalProject_Add(example + ... # Download options, etc. + LIST_SEPARATOR "," + CMAKE_ARGS "-DCMAKE_PREFIX_PATH:STRING=${first_prefix},${second_prefix}" + ) ``COMMAND <cmd>...`` Any of the other ``..._COMMAND`` options can have additional commands |