When $<TARGET_PROPERTY> names a build property like COMPILE_DEFINITIONS
but not the usage requirement (INTERFACE_) version of it, the value
should be that used to build the target. It should not be influenced by
a dependent 'head' target like usage requirements are.
Extend the CompileDefinitions test with a case covering the corrected
behavior.
Reviewed-by: Stephen Kelly <steveire@gmail.com>
5bf1c5cc Help: Document add_custom_command PRE_BUILD/PRE_LINK for exe/lib only (#15059)
2a58c872 Help: Revise and format 'add_custom_command' docs
cb88742d Help: Remove stray content from 'add_custom_command' docs
The context->Makefile is never NULL, but our checks for it convince
Clang scan-build that it might be NULL. Then it warns about later
unchecked uses. Drop the unnecessary checks.
Let clients do their own research on the current strength of each
hash algorithm to choose what is best for their needs.
Suggested-by: Nico Schlömer <nico.schloemer@gmail.com>
State explicitly that the PRE_LINK mode is not for targets created by
the add_custom_target command. The existing wording for PRE_BUILD being
treated as PRE_LINK by non-VS generators will now imply this restriction
for PRE_BUILD too.
Format the reStructuredText markup manually. Organize the command
options into a definition list. Use inline markup to cross-reference
related documents.
This showed up because scan-build noticed outputFull was basically
a constant. Logic should be output all valgrind output. Then output
regular test output until output limit is reached.
- sha265.c is using some C99 specific features, in particular static
array dimensions in a function parameter array (see section 6.7.5-7
of the C99 spec). A #ifndef check was in place to prevent compilation
under MSVC but it actually needed to check for C99 compliance instead.
Even still, the C99 code fails on a few compilers (PGI being one) so for
compatibility reasons, the C99 version of the function declaration is
removed entirely, leaving only the C89 version.
- CHECK_SYMBOL_EXISTS is used to determine the presense of bswap
functions from byteswap.h. Most compilers re-dedefine the bswap_N
functions as a __bswap_N function implemented by the compiler. Since
bswap_N is usually defined as a macro then it's mere presence passes
the check. Some versions of the PGI compiler though have shipped
broken headers for byteswap.h, in particular 11.3 for x64 linux
provides byteswap.h but is missing an associated bits/byteswap.h which
causes some of the bswap_N macros to be defined but broken and unusable.
The bswap_N checks have been converted to CHECK_SOURCE_COMPILES to
ensure that the bswap_N calls are actually usable and not just merely
defined.