Commit Graph

31 Commits

Author SHA1 Message Date
Ben Boeckel 300fc15779 Fix detection of system files
Instead of looking to see if the file is under CMAKE_ROOT, check to see
if it is instead under the source or binary directories in use.
2010-09-02 11:33:34 -04:00
Ben Boeckel 74997000c8 Add a flag to warn about system files 2010-09-01 13:09:08 -04:00
Ben Boeckel d7999e9b29 Rename strict-mode to warn-uninitialized 2010-09-01 13:08:14 -04:00
Ben Boeckel f332e14ff2 Complete strict-mode checks for uninitialized vars 2010-09-01 13:08:14 -04:00
Bill Hoffman f794d589a4 Make --strict-mode option, and integrate with cmake-gui 2010-09-01 13:08:14 -04:00
Bill Hoffman 48b5b85593 Add a warning when variables are used uninitialized. 2010-09-01 13:08:13 -04:00
Bill Hoffman 2f94a2c919 Fix seg fault for empty ENV{} call bug #9747 2009-10-21 09:04:50 -04: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 5f4686920d BUG: Fix CMAKE_CURRENT_LIST_FILE in macros
The value of CMAKE_CURRENT_LIST_FILE is supposed to be the list file
currently being executed.  Before macros were introduced this was always
the context of the argument referencing the variable.

Our original implementation of macros replaced the context of command
arguments inside the macro with that of the arguments of the calling
context.  This worked recursively, but only worked when macros had at
least one argument.  Furthermore, it caused parsing errors of the
arguments to report the wrong location (calling context instead of line
with error).

The commit "Improve context for errors in macros" fixed the latter bug
by keeping the lexical context of command arguments in macros.  It broke
evaluation of CMAKE_CURRENT_LIST_FILE because the calling context was no
longer preserved in the argument referencing the variable.  However,
since our list file processing now maintains the proper value of
CMAKE_CURRENT_LIST_FILE with dynamic scope we no longer need the context
of the argument and can just evaluate the variable normally.
2009-03-25 10:37:04 -04:00
Brad King f8bc0492e1 ENH: Create $CACHE{VAR} syntax
This syntax allows reading of cache entries even when variables of the
same name have been defined in the local scope.  See issue #7715.
2008-09-25 10:21:15 -04:00
Brad King d524f3675e ENH: Improve argument parsing error messages
Previously error messages produced by parsing of command argument
variable references, such as bad $KEY{VAR} syntax or a bad escape
sequence, did not provide good context information.  Errors parsing
arguments inside macro invocations gave no context at all.  Furthermore,
some errors such as a missing close curly "${VAR" would be reported but
build files would still be generated.

These changes teach CMake to report errors with good context information
for all command argument parsing problems.  Policy CMP0010 is introduced
so that existing projects that built despite such errors will continue
to work.
2008-09-24 08:51:19 -04:00
Brad King db0f26e852 BUG: Fixed @ONLY configuration to not try to parse ${} syntax at all. This fixes the original fix to bug#4393 and adds a test. 2007-06-06 16:20:02 -04:00
Brad King e40c51dddf BUG: Fixed cmCommandArgumentLexer no-escape mode to not match backslash-escape sequences as lexical tokens at all. Needed to configure files with backslashes preceding an @VAR@ replacement. This fixes bug#5130. 2007-06-04 15:57:33 -04:00
Bill Hoffman 0e95a190bc ENH: add atonly support to cmCommandArgumentParserHelper.cxx and remove old non-yacc parser code from cmMakefile.cxx 2007-02-09 13:44:37 -05:00
Brad King 523075ded5 BUG: Do not replace @VAR@ syntax in list files. This addresses bug #2722. 2006-10-04 14:37:42 -04:00
Brad King e5549cff25 BUG: One should be able to escape the @ symbol. 2006-09-27 16:14:16 -04:00
Andy Cedilnik a9c0929d39 COMP: Handle both ansi and non-ansi C 2006-07-26 11:46:22 -04:00
Ken Martin d77fbb9640 STYLE: fix line length 2006-05-10 14:15:15 -04:00
Bill Hoffman 51a84aaa57 ENH: handle empty variables 2006-05-05 21:45:26 -04:00
Bill Hoffman 5a2668b326 ENH: add support for win64 for visual studio 2005 ide and nmake, also fix warnings produced by building for win64 2006-03-30 13:49:56 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 29a40d3869 ENH: remove UMR 2005-09-08 15:26:36 -04:00
Andy Cedilnik 01a78e617a ENH: Remove stray abort 2005-06-21 16:44:46 -04:00
Andy Cedilnik 9e9b6a8354 BUG: Fix escaping to make OSX work again 2005-06-21 11:01:24 -04:00
Andy Cedilnik 1bbccc5bef ENH: Improve handling of escaped characters 2005-06-17 15:50:08 -04:00
Andy Cedilnik d797ba2c7e ENH: More cleanups 2005-06-14 15:49:30 -04:00
Andy Cedilnik 6037d1ae66 ENH: Handle non-existing variables 2005-06-13 14:29:45 -04:00
Andy Cedilnik 043ddabc91 ENH: More optimization 2005-06-13 10:11:44 -04:00
Andy Cedilnik d36f3c5543 ENH: Handle errors and optimize a bit 2005-06-13 10:00:59 -04:00
Andy Cedilnik bbf1c3a0e8 ENH: Handle more cases 2005-06-08 14:18:31 -04:00
Andy Cedilnik 2f42e93427 ENH: Initial import (not working yet) 2005-06-08 10:41:05 -04:00