separate_arguments
Разделить аргументы командной строки в список, разделённый точкой с запятой.
separate_arguments(<variable> <mode> <args>)
Парсит строку, разделённую пробелами <args> в список элементов и сохраняет этот список в стандартном формате, разделённом точкой с запятой, в <variable>.
Эта функция предназначена для парсинга аргументов командной строки. Вся командная строка должна быть передана как одна строка в аргументе <args>.
Точные правила парсинга зависят от операционной системы. Они определяются аргументом <mode>, который должен быть одним из следующих ключевых слов:
-
UNIX_COMMAND -
Аргументы разделены пробелами без кавычек. Оба одиночные и двойные кавычки учитываются. Обратный слэш экранирует следующий литеранный символ (
\"это"); нет специальных экранирований (\nэто простоn). -
WINDOWS_COMMAND -
Командная строка Windows парсится с использованием той же синтаксической конструкции, что и библиотека runtime для построения argv при запуске. Она разделяет аргументы пробелами, которые не заключены в двойные кавычки. Обратные слэши являются литеранными, за исключением случаев, когда они предшествуют двойным кавычкам. Подробности см. в статье MSDN Parsing C Command-Line Arguments.
-
NATIVE_COMMAND -
Действует так же, как и в режиме
WINDOWS_COMMAND, если хост-система — Windows. В противном случае действует как в режимеUNIX_COMMAND.
separate_arguments(<var>)
Преобразуйте значение <var> в список, разделённый точкой с запятой. Все пробелы заменяются на «;». Это помогает при генерации командных строк.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.18/command/separate_arguments.html