We use file(GLOB) to load the list of files produced by compiling the
compiler identification source. Encode square brackets in the path to
the directory so that they are not treated as special characters in the
globbing expression. Otherwise we fail to find any files when the path
contains square brackets and the compiler id is unknown.
Reported-by: Esch Nigma <eschnigma@openmailbox.org>
In commit v2.6.0~3438 (ENH: Better support for adding and removing path,
2006-04-27) an include of "WinMessages.NSH" was added without removing
the original include. Remove it now.
Policy CMP0026 deprecated the LOCATION property, and we have long
provided a $<TARGET_FILE:...> generator expression. However, if
a project tries to use $<TARGET_PROPERTY:...,LOCATION> we should
at least not crash.
The compatibility implementation of the LOCATION property uses
cmGlobalGenerator::CreateGenerationObjects to create the structures
needed to evaluate the property before generation starts. The
implementation assumed that accessing the property could only be done
during configuration (via the typical get_property command use case).
The $<TARGET_PROPERTY:...,LOCATION> genex causes the LOCATION property
to be accessed during generation. Calling CreateGenerationObjects
during generation blows away all the objects currently being used for
generation and is not safe. Add a condition to call it only when
configuration is not finished.
Rename Modules/Platform/<os>-<lang>.cmake files to
Modules/Platform/<os>-Determine-<lang>.cmake to clarify their role.
For compatibility with user-provided modules, load the old names
if they exist.
If e.g. libc.a is passed before any objects the linker raises the follwing
warning: cannot resolve archive libc.a to a compatible library, as no
input files have been encountered
In the end the library is skipped and missing symbols occur.
Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
Use clang-tidy's readability-simplify-boolean-expr checker.
After applying the fix-its, revise all changes *very* carefully.
Be aware of false positives and invalid changes.
Move all development release notes into a new version-specific document:
tail -q -n +3 Help/release/dev/* > Help/release/3.6.rst
git rm -- Help/release/dev/*
except the sample topic:
git checkout HEAD -- Help/release/dev/0-sample-topic.rst
Reference the new document from the release notes index document.
Add a title and intro sentence to the new document by hand.
d4e58dd9 CTestCustom: Suppress scanbuild warning on unsigned left shift
154fa2c5 CTestCustom: Suppress warnings about rand() on OpenBSD
e4a361bb CTestCustom: Suppress Windows manifest unrecognized element warning
The Clang scanbuild tool warns:
Utilities/cmliblzma/liblzma/simple/x86.c:106:23: warning:
The result of the '<<' expression is undefined
src = dest ^ ((1u << (32 - i * 8)) - 1);
~~~^~~~~~~~~~~~~~~
AFAIK overflow of a left shift on an unsigned type is well-defined.
We first suppressed this in commit v3.1.0-rc1~647^2 (CTestCustom:
Suppress warnings about rand() and srand() on OpenBSD, 2014-04-12).
Add another variant of the warning wording.
Our `cmake.version.manifest` file uses a "compatibility" element for
Windows 10 support. Older MS tools warn about it being unknown, so
suppress the warning.
Use clang-tidy's performance-unnecessary-copy-initialization checker.
After applying the fix-its (which turns the copies into const&), revise
the changes and see whether the copies can be removed entirely by using
the original instead.
Use clang-tidy's performance-unnecessary-value-param checker to find
value parameter declarations of expensive to copy types that are not
modified inside the function. Ignore findings in kwsys.
After applying the fix-its, manually change `const T&` to `T const&`.
d256ba07 try_compile: Optionally forward custom platform variables to test project
fb4791b3 cmCoreTryCompile: Refactor forwarding of variables to test project