separate_arguments
Разделить аргументы командной строки в список, разделенный точкой с запятой.
separate_arguments(<variable> <mode> <args>)
Разбирает строку, разделенную пробелами <args> в список элементов и сохраняет этот список в стандартной форме, разделенной точкой с запятой, в <variable>.
Эта функция предназначена для разбора аргументов командной строки. Вся командная строка должна быть передана как одна строка в аргументе <args>.
Точные правила разбора зависят от операционной системы. Они определяются аргументом <mode>, который должен быть одним из следующих ключевых слов:
-
UNIX_COMMAND -
Аргументы разделяются нецитированными пробелами. Оба одинарные и двойные кавычки учитываются. Обратная косая черта экранирует следующий литеранльный символ (
\"это"); нет специальных экранирований (\nпростоn). -
WINDOWS_COMMAND -
Командная строка Windows анализируется с использованием того же синтаксиса, что и библиотека выполнения для построения 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.14/command/separate_arguments.html