Spec-Zone.ru › CMake 3.31

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/v3.31/policy/CMP0175.html

Spec-Zone.ru

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