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