summaryrefslogtreecommitdiffstats
path: root/Source/cmDependsC.cxx
Commit message (Collapse)AuthorAgeFilesLines
* stringapi: Use strings for the languagesBen Boeckel2014-03-081-1/+1
|
* Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.Clinton Stimpson2014-01-071-3/+4
| | | | | Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
* cmDependsC: Collapse relative include pathsPavel Shramov2013-06-261-14/+4
| | | | | | | | | While calculating dependencies collapse sequences such as ../../../a/b/c/../../d/e/../../e/f to avoid total path lengths over the Windows path length limit as much as possible.
* cmDepends: allow multiple dependees per dependerAlex Neundorf2012-11-061-12/+21
| | | | | | | | | | | | | | | | | | | | | 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>
* cmDependsC: fix indentationAlex Neundorf2012-11-061-105/+105
| | | | | | | | This is intentionally a separate commit, so the parent commit which changes the logic is small and not mixed with formatting (indentation) changes. So, this patch here does not change any logic. Alex
* cmDependsC: remove code duplicationAlex Neundorf2012-11-031-14/+8
| | | | | | | | | | | | 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>
* Add comment about one more problem of the C depency scanner.Alex Neundorf2011-12-181-0/+3
| | | | Alex
* Remove trailing whitespaceAlex Neundorf2011-12-181-8/+8
| | | | Alex
* Normalize slashes in scanned #include lines (#10281)Brad King2011-01-171-0/+1
| | | | | | | | | | On Windows platforms source files may contain '\' in include directives: #include "a\b.h" Normalize these while scanning to use forward slashes. CMake will convert from forward slashes to the direction preferred by the native build tools when writing the path to 'depend.make' files.
* speedup C dependency scanning even moreAlexander Neundorf2009-10-061-23/+7
| | | | | | | | | | | Scanning the dependencies for kdelibs/khtml/ (when all files are scanned) is now down to 4.6 s from 6.3 s before this change (without the headerLocationCache it takes about 14 s here). It doesn't really make sense to include the complete include path as part of the key for the map, since the include path will be the same for all files in a project, so it doesn't add anything. Alex
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | 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.
* Major optimization of C/C++ dependency scanning.Alexander Neundorf2009-09-231-2/+33
| | | | | | | | | | | | | | 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
* ENH: Teach cmDependsC about user-configured macro transformations.Brad King2008-05-141-0/+114
| | | | | | - Syntax is SOME_MACRO(%)=value-with-% - Later we will configure these with target and directory properties. - See issue #6648.
* ENH: Light refactoring of implicit dependency scanning configuration ↵Brad King2008-05-081-22/+46
| | | | | | implementation. - Move lookup of config variables from cmLocalUnixMakefileGenerator3 to cmDepends hierarchy.
* BUG: fix for bug 6136 make sure includes are not directoriesBill Hoffman2007-12-151-3/+3
|
* STYLE: Fixed line-too-long.Brad King2007-02-071-3/+6
|
* BUG: Patch from Alex to recompute dependencies when the include regex ↵Brad King2007-02-051-2/+40
| | | | changes. This addresses bug#4168.
* STYLE: Fixed line-too-long.Brad King2006-09-271-1/+2
|
* BUG: Handle header file dependencies for objective CAndy Cedilnik2006-09-261-3/+3
|
* STYLE: Fixed line-too-long.Brad King2006-09-161-1/+2
|
* ENH: Patch from Alex to speed dependency scanning approximately 2x.Brad King2006-09-131-14/+43
|
* ENH: Make sure all custom command outputs are up to date before scanning ↵Brad King2006-08-311-62/+4
| | | | 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.
* ENH: line lengthsKen Martin2006-06-051-4/+4
|
* BUG: Updated Makefile dependency scanning to provide a full local generator ↵Brad King2006-05-251-5/+12
| | | | to the dependency scanner to do proper path conversions. This allows the rules written into the depend.make files to use the same relative path conversion as those written into the build.make files. Several previous changes added more and more information for use by the dependency scanner and it was converging to having the full local generator anyway.
* STYLE: fix line lengthKen Martin2006-05-101-5/+6
|
* BUG: Fix to avoid repeated calls to CollapseFullPath during dependency ↵Brad King2006-05-031-3/+4
| | | | scanning. This addresses bug#3191.
* ENH: a warning fix and some more cleanupKen Martin2006-03-161-6/+6
|
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-60/+60
|
* STYLE: Fix some style issuesAndy Cedilnik2006-03-101-20/+25
|
* BUG: Fix for scanning generated headers included with double-quotes. Also ↵Brad King2006-01-051-5/+32
| | | | fixed double-quote include support to not use the special quoted location when a full path is given on the include line.
* ENH: try to fix hp build problemBill Hoffman2005-12-101-2/+2
|
* ENH: clean up style a bitBill Hoffman2005-12-091-8/+10
|
* PERF: apply patch for bug 2575 speeds up depend scanningBill Hoffman2005-12-091-22/+153
|
* ENH: Improve performance of check build system by creating another file that ↵Andy Cedilnik2005-10-121-144/+6
| | | | is simpler to parse and therefore much faster overall
* COMP: Work-around iterator/const_iterator comparison problem on Borland 5.5.Brad King2005-08-181-1/+2
|
* ENH: Adding support for automatically adding the OBJECT_DEPENDS for ↵Brad King2005-08-171-6/+36
| | | | generated header files.
* ENH: fix bug in depend file removing for deleted depend filesBill Hoffman2005-08-101-2/+3
|
* ENH: reduce the number of files produced still needs a bit more cleanupKen Martin2005-07-271-10/+18
|
* ENH: string += is very slow, so don't use itBill Hoffman2005-07-221-4/+10
|
* ENH: some changes to the depends signature to be more flexibleKen Martin2005-05-111-10/+3
|
* BUG: Re-implemented dependency line parsing to deal with quoted paths and ↵Brad King2005-05-101-44/+63
| | | | escaped spaces.
* ENH: Added optional verbose output to build system dependency check.Brad King2005-05-061-8/+41
|
* BUG: Fixed scanning to account for double-quote includes.Brad King2005-03-031-18/+46
|
* BUG: Avoid putting a leading ./ on the dependency names.Brad King2005-02-241-1/+12
|
* ENH: Removing collapsing of files to full path before checking. The current ↵Brad King2005-02-171-14/+0
| | | | working directory is set correctly because the dependency lines are used by make anyway. This drastically improves the speed of dependency checking.
* ENH: Implemented support for include/complain regular expressions for ↵Brad King2005-02-071-13/+29
| | | | dependency scanning. This now includes the possibility that scanning will return failure and the build will stop.
* ENH: Split dependency scanning and checking into separate cmDepends ↵Brad King2005-01-181-0/+247
superclass with language-specific subclasses such as cmDependsC.