CMP0175ΒΆ
Added in version 3.31.
add_custom_command() rejects invalid arguments.
CMake 3.30 and earlier silently ignored unsupported keywords and missing or
invalid arguments for the different forms of the add_custom_command()
command. CMake 3.31 implements more rigorous argument checking and will flag
invalid or missing arguments as errors.
The OLD behavior of this policy will accept the same invalid keywords or
arguments as CMake 3.30 and earlier. The NEW behavior will flag the
following as errors that previously went unreported:
- The - OUTPUTform does not accept- PRE_BUILD,- PRE_LINK, or- POST_BUILDkeywords.
- When the - APPENDkeyword is given, the- OUTPUTform also does not accept- BYPRODUCTS,- COMMAND_EXPAND_LISTS,- DEPENDS_EXPLICIT_ONLY,- DEPFILE,- JOB_POOL,- JOB_SERVER_AWARE,- USES_TERMINAL, or- VERBATIMkeywords.
- The - TARGETform requires exactly one of- PRE_BUILD,- PRE_LINK, or- POST_BUILDto be given. Previously, if none were given,- POST_BUILDwas assumed, or if multiple keywords were given, the last one was used.
- The - TARGETform does not accept- DEPENDS,- DEPENDS_EXPLICIT_ONLY,- DEPFILE,- IMPLICIT_DEPENDS,- MAIN_DEPENDENCY,- JOB_POOL, or- JOB_SERVER_AWAREkeywords.
- The - TARGETform now requires at least one- COMMANDto be given.
- If a keyword expects a value to be given after it, but no value is provided, that was previously treated as though the keyword was not given at all. 
- The - COMMENTkeyword expects exactly one value after it. If multiple values are given, or if the- COMMENTkeyword is given more than once, this is an error.
This policy was introduced in CMake version 3.31.
It may be set by cmake_policy() or cmake_minimum_required().
If it is not set, CMake warns, and uses OLD behavior.
Note
The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.
