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