Spec-Zone.ru › CMake

CMP0175

Добавлена в версии 3.31.

add_custom_command() отклоняет недопустимые аргументы.

CMake 3.30 и более ранние версии молча игнорировали неподдерживаемые ключевые слова и отсутствующие или недопустимые аргументы для различных форм команды add_custom_command(). CMake 3.31 реализует более строгую проверку аргументов и будет отмечать недопустимые или отсутствующие аргументы как ошибки.

Поведение этой политики OLD будет принимать те же недопустимые ключевые слова или аргументы, что и CMake 3.30 и более ранние версии. Поведение NEW будет отмечать следующие как ошибки, которые ранее не сообщались:

  • Форма OUTPUT не принимает ключевые слова PRE_BUILD, PRE_LINK, или POST_BUILD.
  • Когда задано ключевое слово APPEND, форма OUTPUT также не принимает ключевые слова BYPRODUCTS, COMMAND_EXPAND_LISTS, DEPENDS_EXPLICIT_ONLY, DEPFILE, JOB_POOL, JOB_SERVER_AWARE, USES_TERMINAL, или VERBATIM.
  • Форма TARGET требует наличия ровно одного из PRE_BUILD, PRE_LINK, или POST_BUILD. Ранее, если ни один из них не был задан, предполагалось POST_BUILD, или если были заданы несколько ключевых слов, использовалось последнее.
  • Форма TARGET не принимает ключевые слова DEPENDS, DEPENDS_EXPLICIT_ONLY, DEPFILE, IMPLICIT_DEPENDS, MAIN_DEPENDENCY, JOB_POOL, или JOB_SERVER_AWARE.
  • Форма TARGET теперь требует наличия по крайней мере одного COMMAND.
  • Если ключевое слово требует указания значения после него, но значение не предоставлено, ранее это интерпретировалось так, как будто ключевое слово вообще не было задано.
  • Ключевое слово COMMENT ожидает ровно одно значение после него. Если задано несколько значений или ключевое слово COMMENT указано более одного раза, это ошибка.

Эта политика была введена в версии CMake 3.31. Она может быть установлена с помощью cmake_policy() или cmake_minimum_required(). Если она не установлена, CMake предупреждает и использует поведение OLD.

Примечание

Поведение OLD политики является deprecated by definition и может быть удалено в будущих версиях CMake.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/policy/CMP0175.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API