Since commit v3.1.0-rc1~110^2 (Tolerate symlinks during RPATH ordering,
2014-09-09) we call realpath() for every directory ordering constraint
check. On some platforms/filesystems this is slow, so memoize the
result of the call for each directory.
Explicitly enable deprecated warnings by default, via the
cmake::GetSuppressDeprecatedWarnings method, which signals
suppression is turned off unless the CMake variables are set
as required.
Add tests and update the documentation for the new
functionality.
Change the '-Wdev' and '-Wno-dev' options to also enable and
suppress the deprecated warnings output, via the
'CMAKE_WARN_DEPRECATED' CMake variable, by default. This
action does not happen if the user specifies a deprecated
warning message option.
Add tests and update the documentation for the new
functionality.
Make the documentation for the 'CMAKE_ERROR_DEPRECATED' CMake
variable consistent with the documentation for the
'CMAKE_WARN_DEPRECATED' CMake variable, in terms of wording.
Add 'deprecated' warning options type, to allow setting
CMAKE_WARN_DEPRECATED via the -W '-Wdeprecated' and
'-Wno-deprecated' options.
Add tests for new options and updated documentation.
Refactor the -Wdev and -Wno-dev options parser to use a generic -W
parser that follows the GCC pattern, excluding support for
-Werror=TYPE and -Wno-error=TYPE formats for now.
Explicitly enable author warnings by default, via the
cmake::GetSuppressDevWarnings method, which signals suppression
is turned off unless the CMake variables are set as required.
Add test cases for author and deprecated messages displayed by
default.
Extract upstream KWSys using the following shell commands.
$ git archive --prefix=upstream-kwsys/ 9596e98d | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' a7e5360f..9596e98d
Dmitry Marakasov (1):
b86a2a3e Process: Fix off-by-one when adding two times
Marek Vasut (1):
ddfa8019 CPU: Add NIOS2 support
Rolf Eike Beer (2):
0adafb51 SystemTools: use FindProgram() overload that checks for directory
9596e98d SystemTools: move some code around that is used only on Windows-like platforms
Make the message suppression more consistent, by adding a check
for the message related CMake variables in cmake::IssueMessage,
which allows callers of IssueMessage other than the message
command to behave as expected. Also added a check for
CMAKE_SUPPRESS_DEVELOPER_WARNINGS in the message command to
mirror the deprecated message type behaviour.
Added a 'force' flag to the cmake::IssueMessage method, to
make the message suppression consistent, when setting the
message related CMake variables directly in a CMake file.
Expand message command tests to cover the AUTHOR_WARNING message
type as well.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Ley Foon Tan <lftan@altera.com>
Cc: Thomas Chou <thomas@wytron.com.tw>
Cc: Walter Goossens <waltergoossens@home.nl>
We enforce policy push/pop balance around any scope that pushes/pops a
snapshot. Therefore a snapshot may never reference entries of
PolicyStack that were created in nested scopes. Free storage of
short-lived policy stack entries when they are popped.
Add a method to increment an iterator (follow the "up" pointer) to the
previous level in the stack of scopes and free storage of the top of the
stack if possible. This will allow short-lived scopes to be created and
destroyed by matching Push/Pop pairs without accumulating storage.
Logically the method pushes a nested scope on top of a given scope
because the "up" pointer sequence forms a stack independent of any
other branches of the tree.
Everywhere we use cmMakefile::ScopePushPop to manage variable scopes
also expects policy scopes to be balanced. There is no place that we
use cmMakefile::PolicyPushPop without also using ScopePushPop. Relieve
PolicyPushPop of responsibility for policy scope balance checks by
moving it to ScopePushPop.
The PolicyPushPop constructor arguments and Quiet method were used to
pass non-default arguments to PushPolicy and PopSnapshot, but no clients
use them anymore.
The `PopPolicyBarrier` method is actually responsible for closing any
scope opened by creating a snapshot. Rename it to `PopSnapshot` and add
a comment explaining the purpose of the poilcy-scope-specific part of
the method.
Since commit v3.4.0-rc1~179^2~1 (cmState: Add a VariableScope snapshot
type, 2015-08-23) the snapshot stack may have a VariableScopeType entry.
Skip over these when constructing the call stack, just as we do for
policy scopes. Otherwise we report the command causing the variable
scope to be entered twice (e.g. find_package while loading a package
version file).