Stephen Kelly
af8a1643c1
Remove c_str calls when using stream APIs.
...
Use an ad-hoc clang tool for matching the calls which should be
ported.
2014-03-11 15:03:50 +01:00
Stephen Kelly
21c573f682
Remove some c_str() calls.
...
Use the clang RemoveCStrCalls tool to automatically migrate the
code. This was only run on linux, so does not have any positive or
negative effect on other platforms.
2014-03-11 15:03:50 +01:00
Ben Boeckel
270eb96df0
strings: Remove cmStdString references
...
Casts from std::string -> cmStdString were high on the list of things
taking up time. Avoid such implicit casts across function calls by just
using std::string everywhere.
The comment that the symbol name is too long is no longer relevant since
modern debuggers alias the templates anyways and the size is a
non-issue since the underlying methods are generated since it's
inherited.
2014-03-08 13:05:35 -05:00
Clinton Stimpson
5730710c86
Use cmsys::[io]fstream instead of cmsys_ios::[io]fstream.
...
Also use SystemTools::Fopen() instead of fopen().
This is to eventually support utf-8 filenames.
2014-01-07 09:27:44 -05:00
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
Kitware Robot
7bbaa4283d
Remove trailing whitespace from most CMake and C/C++ code
...
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace. Wipe out all remnants of trailing whitespace
everywhere except third-party code.
Run the following shell code:
git ls-files -z -- \
bootstrap doxygen.config '*.readme' \
'*.c' '*.cmake' '*.cpp' '*.cxx' \
'*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
'*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
Yury G. Kudryashov
43d60114a5
Run vim spellcheck on some files
2012-02-29 14:07:50 -05:00
Brad King
cbfbb86b58
Fix escapes in Fortran depend.make entries
...
Makefile dependencies must be escaped using cmLocalGenerator::Convert
with the cmLocalGenerator::MAKEFILE option. This fixes Fortran module
dependencies with spaces in the path. We test the fix by adding a space
to one of the module paths in the Fortran test.
2010-01-04 10:18:44 -05: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
Brad King
66f2edbe63
BUG: Fix Fortran implicit dependency include path
...
The previous change to Source/cmDependsFortran.cxx while refactoring
implicit dependency scanning configuration rules completely broke
loading of the include file search path while scanning Fortran
dependencies. This adds the line that should have been added during the
previous change to load the include path correctly.
2009-02-24 14:32:25 -05: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
52898fe925
BUG: Fix Fortran dependency parser preprocessor handling crash.
...
- Do not crash if a #elseif occurs out of order
- Recognize preprocessor directives only at the beginning of lines.
- See issue #6855
2008-04-21 11:15:56 -04:00
Brad King
aed67d5d93
COMP: Fix build on Borland 5.5.
2008-01-18 18:40:05 -05:00
Brad King
8d1d5500c8
ENH: Enable use of COMPILE_DEFINITIONS property for Fortran sources.
2008-01-17 19:58:01 -05:00
Brad King
564a23c6ba
COMP: Fix build on VS6.
2008-01-10 09:46:04 -05:00
Brad King
b761da39c1
ENH: Patch from Maik to add preprocessor directive handling to Fortran dependency scanning. Also added -fpp flag to Intel Fortran compiler on Windows by default.
2008-01-09 10:30:11 -05:00
Bill Hoffman
4b166fc319
BUG: make it compile on vs 6
2008-01-08 08:25:07 -05:00
Brad King
e73508aa65
ENH: Changes based on patch from Maik for better cmDependsFortran::ModulesDiffer.
2008-01-07 11:36:17 -05:00
Brad King
aa399c2350
ENH: Cleanup Fortran build directories by placing module stamp files in the target directory that builds them. This is actually a simpler implementation anyway.
2008-01-02 18:30:48 -05:00
Brad King
c7de81f9a6
ENH: Make the Fortran compiler id available to cmDependsFortran at scanning and module timestamp copy time.
2008-01-02 11:04:52 -05:00
Brad King
1f987c06ea
ENH: Changes based on patch from Maik Beckmann to copy fortran modules to timestamps only if they have really changed. This optimization should reduce extra rebuilds caused by dependencies on modules whose providers have recompiled but whose interfaces have not changed.
2007-12-31 11:25:17 -05:00
Brad King
b2e8c07af8
ENH: Implemented Fortran module output directory and search path flags.
2007-12-30 16:11:38 -05:00
Brad King
cd8a2bbab6
ENH: Simplify Fortran module proxy dependency implementation by removing unnecessary target.
2007-12-30 12:23:54 -05:00
Brad King
edd5f1f5f1
COMP: Fix uninitialized variable and unused parameter warnings.
2007-12-28 22:29:19 -05:00
Brad King
81f6e86f12
ENH: Add per-language clean rule generation to cmake_clean.cmake files to include cmake_clean_<lang>.cmake files generated by dependency scanning. Add Fortran module file and timestamp cleaning rules.
2007-12-28 11:50:14 -05:00
Brad King
68dad94b00
ENH: Implement Fortran module dependencies across targets and directories.
...
- See issue #5809
- Keep information about all sources in the target until deps are written
- Create a fortran.internal file after scanning that lists modules provided
- Load fortran.internal files from linked targets to find modules
- Search the include path for external modules
- Create file-level deps on in-project module timestamps or external mods
2007-12-28 11:49:59 -05:00
Brad King
4d360f7ac5
ENH: Convert cmDepends object interface to scan an entire target at once.
2007-12-22 22:41:42 -05:00
Brad King
c7bf320539
BUG: cmDependsFortran should store the source file as a dependency of the object file when scanning for dependencies.
2007-12-19 16:35:09 -05:00
Brad King
891256546b
ENH: Pass target directory to cmDependsFortran scanning instances.
2007-12-19 14:28:46 -05:00
Brad King
4143d8a700
ENH: Make module timestamps work for modules in subdirectories. Make sure timestamps for all modules provided by a target are created when the target is done building.
2007-12-15 15:35:00 -05:00
Bill Hoffman
a5e76555bf
BUG: fix for bug 6136 make sure includes are not directories
2007-12-14 20:31:27 -05:00
Bill Hoffman
8eea168c23
STYLE: fix line len
2007-12-05 09:17:07 -05:00
Bill Hoffman
c34b1b48fc
ENH: do not depend on touch being on the system
2007-12-04 16:09:46 -05:00
Brad King
1de1f4bb83
STYLE: Fixed line-too-long.
2007-10-16 10:20:59 -04:00
Brad King
48762a51dd
ENH: When an object file requires a module add the file-level dependency between the object file and the module timestamp file. Create a dummy timestamp file in case nothing in the project actually creates the module. See bug#5809.
2007-10-12 09:51:28 -04:00
Brad King
ea56464864
BUG: Fix in-interface mode. Patch from Maik Beckmann. See bug#5809.
2007-10-10 09:07:10 -04:00
Brad King
394077ac5c
BUG: When requiring a module through a .proxy rule add an empty .proxy rule in case no other source in the target provides it. Since it is not a file-level dependency there does not need to be a rule to create the .proxy as a file. This addresses bug#3984.
2007-10-03 16:19:19 -04:00
Brad King
f8caab4613
BUG: Fix for bug#5809. Applied patch supplied in the bug report. Updated pre-generated lexer and parser sources. This updates the makedepf90 version to 2.8.8. The parser actions have been updated to ignore "use" in comments properly.
2007-10-03 15:41:39 -04:00
Brad King
fb43c64476
BUG: Do not write symbolic make dependencies into depends.internal.
2007-08-29 11:30:53 -04:00
Ken Martin
a5ed047d4b
STYLE: fix line length
2006-05-10 14:54:46 -04:00
Ken Martin
3d96e52261
STYLE: some m_ to this-> cleanup
2006-03-15 11:02:08 -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
Ken Martin
f85f919dbc
ENH: reduce the number of files produced still needs a bit more cleanup
2005-07-27 09:49:37 -04:00
Andy Cedilnik
0e194cab84
ENH: new fortran depends to match new Unix Gen
2005-05-25 11:19:16 -04:00
Ken Martin
1c95c08ccf
ENH: some updates to the provides requires code
2005-05-16 10:53:02 -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
e8911705d6
ENH: Added optional verbose output to build system dependency check.
2005-05-06 09:58:58 -04:00
Brad King
e75df695de
BUG: When checking for upper-case modules do not use an upper-case .MOD extension.
2005-03-07 15:19:18 -05:00
Brad King
2444cd3828
ENH: Implementing explicit cmake_copy_f90_mod callback to copy Fortran90 modules to the stamp files more reliably. This removes the temporary hack for per-platform upper-/lower- case.
2005-03-03 16:53:33 -05:00
Brad King
ba6f07b10c
BUG: We need to test the compiler for the case of the mod file names. For now this is a temporary hack to use upper case on SGI and lower case on Sun.
2005-03-02 09:02:36 -05:00