Commit Graph

26 Commits

Author SHA1 Message Date
Alex Neundorf
e74ff7c29f 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>
2012-11-06 11:54:39 -05:00
Alex Neundorf
b4e8f49b95 cmDependsC: remove unused member variable
Alex
2012-09-30 10:22:06 +02:00
Brad King
96afb12087 Convert CMake to OSI-approved BSD License
This converts the CMake license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Alexander Neundorf
39383ef8cb Major optimization of C/C++ dependency scanning.
Now only the dependencies for the file where the dependencies actually may
have changed are rescanned, before that this was done for all source files
even if only one source file had changed.
This reduces e.g. on my machine the time for scanning the dependencies
of kdelibs/khtml/ when only one file (khtml_global.cpp) has changed from
around 7.5 seconds to 1.2 seconds.

The tests succeed, it does what I expected it to do on kdelibs, and Brad
also reviewed the patch, so I think it should be ok.

Alex
2009-09-23 14:02:05 -04:00
Brad King
7652a8a1e5 ENH: Teach cmDependsC about user-configured macro transformations.
- Syntax is SOME_MACRO(%)=value-with-%
  - Later we will configure these with target and directory properties.
  - See issue #6648.
2008-05-14 11:54:32 -04:00
Brad King
12935b1599 ENH: Light refactoring of implicit dependency scanning configuration implementation.
- Move lookup of config variables from cmLocalUnixMakefileGenerator3 to cmDepends hierarchy.
2008-05-08 10:09:14 -04:00
Brad King
6bba86c8c8 BUG: Patch from Alex to recompute dependencies when the include regex changes. This addresses bug#4168. 2007-02-05 09:48:38 -05:00
Brad King
6a347e9858 ENH: Patch from Alex to speed dependency scanning approximately 2x. 2006-09-13 12:43:32 -04:00
Brad King
409f70bc91 ENH: Make sure all custom command outputs are up to date before scanning dependencies. This avoids the need to pass a list of generated files to the dependency scanning code and to rescan after the files have been generated. Currently there is no notion of implicit dependencies of the custom commands themselves so this design is safe. We only need to make sure implicit dependencies are up to date before the make process for the /build part of a target is executed because only this process loads them. This is a step towards fixing bug#3658. 2006-08-31 14:09:56 -04:00
Ken Martin
4b83a08b37 ENH: a warning fix and some more cleanup 2006-03-16 09:33:23 -05:00
Ken Martin
3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Andy Cedilnik
634343c3e8 STYLE: Fix some style issues 2006-03-10 13:06:26 -05:00
Brad King
8dc1de6efd BUG: Fix for scanning generated headers included with double-quotes. Also fixed double-quote include support to not use the special quoted location when a full path is given on the include line. 2006-01-05 17:16:22 -05:00
Bill Hoffman
90bdb216a4 ENH: try to fix hp build problem 2005-12-09 23:04:33 -05:00
Andy Cedilnik
63a5effc7f ENH: fix compile error 2005-12-09 16:32:19 -05:00
Bill Hoffman
d13643aa92 ENH: clean up style a bit 2005-12-09 14:30:11 -05:00
Bill Hoffman
92b6c8e742 PERF: apply patch for bug 2575 speeds up depend scanning 2005-12-09 13:58:55 -05:00
Andy Cedilnik
f18e7c7ff7 ENH: Improve performance of check build system by creating another file that is simpler to parse and therefore much faster overall 2005-10-12 13:52:29 -04:00
Brad King
f4920b8369 ENH: Adding support for automatically adding the OBJECT_DEPENDS for generated header files. 2005-08-17 11:43:58 -04:00
Ken Martin
f85f919dbc ENH: reduce the number of files produced still needs a bit more cleanup 2005-07-27 09:49:37 -04:00
Ken Martin
c85069b290 ENH: some changes to the depends signature to be more flexible 2005-05-11 13:16:45 -04:00
Brad King
dd9e2b904c BUG: Re-implemented dependency line parsing to deal with quoted paths and escaped spaces. 2005-05-10 11:00:15 -04:00
Brad King
e8911705d6 ENH: Added optional verbose output to build system dependency check. 2005-05-06 09:58:58 -04:00
Brad King
2fe4e650bf BUG: Fixed scanning to account for double-quote includes. 2005-03-03 15:22:18 -05:00
Brad King
337ad802c6 ENH: Implemented support for include/complain regular expressions for dependency scanning. This now includes the possibility that scanning will return failure and the build will stop. 2005-02-07 16:11:01 -05:00
Brad King
195cdf172e ENH: Split dependency scanning and checking into separate cmDepends superclass with language-specific subclasses such as cmDependsC. 2005-01-18 17:09:05 -05:00