cmDependsC: remove unused member variable

Alex
CMake Nightly Date Stamp
CMake Nightly Date Stamp
Eclipse: remove commented line of code

Alex
Merge topic 'EclipseFixIndexerBySettingSourcePath' into next

f403eba Eclipse: remove commented line of code
cmDependsC: remove code duplication

This patch reduces a bit code duplication by changing the way how the
case that we already have valid dependencies for a file is handled.
Instead of having the code for writing the depend-files twice,
we now fill the existing dependencies into the same set and then
write it out once at the end of cmDependsC::WriteDependencies()

Alex

Inspired-by: Michael Wild <themiwi@users.sourceforge.net>
cmDependsC: fix indentation

This is intentionally a separate commit, so that patch c62740c67d6a5e992f8a,
which changes the logic, is small and mixed with formatting (indentation) changes.
So, this patch here does not change any logic.

Alex
cmDepends: allow multiple dependees per depender

This patch is heavily inspired by Michael Wild.

The interfaces cmDepends::Write and cmDepends::WriteDependencies where
extended to allow multiple dependees (sources) per depender (object).
cmDepends::Write first collect all dependencies into a std::set before
passing it to cmDepends::WriteDependencies.

cmDependsC::WriteDependencies also first collects all explicit and
implicit dependencies into a std::set and only then writes
depend.{internal,make}. The implementation of cmDependsFortran simply
loops over all sources and proceeds as before, whereas the cmDependsJava
implementation is as trivial as before.

This is for preventing exponential growth of depend.{internal,make} in
the next commit which fixes dependency-vector erasure in
cmDepends::CheckDependencies.

Inspired-by: Michael Wild <themiwi@users.sourceforge.net>
FIX: No dependency-vector erasure in cmDepends::CheckDependencies

Some dependency-generators (such as cmDependsFortran) generate multiple
entries per depender, so erasing the dependency vector for each depender
found loses earlier dependencies.

Signed-off-by: Michael Wild <themiwi@users.sourceforge.net>
AddCustomCommand: Handle multiple IMPLICIT_DEPENDS files (#10048)

The code handling IMPLICIT_DEPENDS was only able to track a single file,
the latest file replaced earlier files in the list.

The documentation now mentions that the language has to be prefixed to
every file and the test now uses two implicit dependencies, where only
the second is modified to trigger re-running of the custom command.

This is a patch from Michael Wild, but direct cherry-picking didn't work,
git complained about too many renames.

Alex

Inspired-by: Michael Wild <themiwi@users.sourceforge.net>
Merge topic 'FixImplicitDepends2' into next

3c41b3a AddCustomCommand: Handle multiple IMPLICIT_DEPENDS files (#10048)
f530496 FIX: No dependency-vector erasure in cmDepends::CheckDependencies
1a1169b cmDepends: allow multiple dependees per depender
2072e85 cmDependsC: fix indentation
3e7d97d cmDependsC: remove code duplication
b4e8f49 cmDependsC: remove unused member variable
Find* (and some other): use ${CMAKE_CURRENT_LIST_DIR} in include()

This solves a lots of warnings, e.g. in the FindModulesExecuteAll test. If the
installed version on the system is rather old this may even lead to bugs, e.g.
https://bugs.gentoo.org/show_bug.cgi?id=436540
Merge topic 'fix-module-includes' into next

0655216 Find* (and some other): use ${CMAKE_CURRENT_LIST_DIR} in include()
d39bd3e CMake Nightly Date Stamp
1295247 CMake Nightly Date Stamp
KWSys: In SystemInformation skip getifaddrs on LSB

The getifaddrs API is not available on LSB.
CTestCustom: Suppress LNK4089 warning about PSAPI

Add a warning suppression regex to match:

 LINK : warning LNK4089: all references to 'PSAPI.DLL' discarded by /OPT:REF
Merge topic 'fix-KWSys-SystemInformation' into next

13e741f CTestCustom: Suppress LNK4089 warning about PSAPI
f4b58ed KWSys: In SystemInformation skip getifaddrs on LSB