Brad King
919fdb7f27
ENH: Enforce logical blocks in functions/macros
...
This teaches function() and macro() to enforce matching logical blocks
inside the recorded bodies. This makes the error message more specific.
2009-01-21 09:49:31 -05:00
Brad King
1dcc5b4558
ENH: Better handling of mismatched blocks
...
If a logical block terminates with mismatching arguments we previously
failed to remove the function blocker but replayed the commands anyway,
which led to cases in which we failed to report the mismatch (return
shortly after the ending command). The recent refactoring of function
blocker deletion changed this behavior to produce an error on the ending
line by not blocking the command. Furthermore, the function blocker
would stay in place and complain at the end of every equal-level block
of the same type.
This teaches CMake to treat the begin/end commands (if/endif, etc.) as
correct and just warns when the arguments mismatch. The change allows
cases in which CMake 2.6.2 silently ignored a mismatch to run as before
but with a warning.
2009-01-21 09:49:00 -05:00
Brad King
bca1026250
ENH: Better error message for unclosed blocks
...
This centralizes construction of the error message for an unclosed
logical block (if, foreach, etc.). We record the line at which each
block is opened so it can be reported in the error message.
2009-01-21 09:48:20 -05:00
Brad King
dbd88e00c7
ENH: Improve context for errors in macros
...
We now properly report the source location of command arguments inside
macros instead of using the macro invocation site. No information is
lost because full call-stack information is already reported.
2008-09-24 08:51:26 -04:00
Brad King
680104a490
ENH: New format for warning and error messages
...
- Add cmMakefile methods IssueError and IssueWarning
- Maintain an explicit call stack in cmMakefile
- Include context/call-stack info in messages
- Nested errors now unwind the call stack
- Use new mechanism for policy warnings and errors
- Improve policy error message
- Include cmExecutionStatus pointer in call stack
so that errors deeper in the C++ stack under
a command invocation will become errors for the
command
2008-03-07 08:40:36 -05:00
Bill Hoffman
f386c2aae0
ENH: make CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS the default and remove the property. If any value is specified in an endif, endforeach, endwhile, etc then make sure it matches the start string. If no values are given then it is no longer an error.
2008-02-29 12:18:11 -05:00
Ken Martin
0e69d38004
ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class
2008-01-23 10:28:26 -05:00
Ken Martin
27379d7b08
ENH: make properties a bit more formal with documentation and chaining
2006-12-07 09:45:32 -05:00
Bill Hoffman
6600143ea1
ENH: fix warning
2006-12-01 15:28:00 -05:00
Bill Hoffman
d99ee73dff
BUG: fix for 3815 seg fault
2006-12-01 10:30:11 -05:00
Bill Hoffman
d5cce9f0b5
ENH: fix compile error
2006-10-03 12:09:47 -04:00
Bill Hoffman
46c6442ce2
BUG: fix for seg fault bug #3815
2006-10-03 10:57:31 -04:00
Ken Martin
c88c75b8f2
ENH: reduce string construct delete ops
2006-05-31 11:19:39 -04:00
Ken Martin
50d058a3a1
ENH: always compile progress
2006-05-23 09:11:46 -04:00
Ken Martin
47c7108111
STYLE: fix line length
2006-05-12 12:29:09 -04: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
Ken Martin
4c00a1d1e6
ENH: revert back to string replacement version
2005-07-05 10:08:46 -04:00
Ken Martin
5c68b61a9c
COMP: fix compiler warnings
2005-06-23 12:34:19 -04:00
Ken Martin
dec5cc1082
ENH: converted macro to use variables and fixed some case issues with some function blockers
2005-06-23 11:03:57 -04:00
Andy Cedilnik
24a5c0a72e
ENH: Save command that macro overwrites
2005-06-14 12:48:59 -04:00
Bill Hoffman
1004073942
ENH: performance improvements
2005-04-12 13:27:07 -04:00
Ken Martin
0fe5f14c28
COMP: fix warning
2005-03-18 11:29:34 -05:00
Ken Martin
345cf04012
ENH: big change that includes immediate subdir support, removing the notion of inherited commands, makefiles no longer read in the parent makefiles but instead inherit thier parent makefiles current settings
2005-03-18 10:41:41 -05:00
Brad King
b6da1d1271
ENH: Added support for special variables CMAKE_CURRENT_LIST_FILE and CMAKE_CURRENT_LIST_LINE that evaluate to the file name and line number in which they appear. This implements the feature request from bug 1012.
2004-08-04 10:45:11 -04:00
Bill Hoffman
f82c1bfc8d
ENH: make it run much faster
2004-05-19 16:04:48 -04:00
Andy Cedilnik
28f6e1b194
ENH: Add ARGV and ARGN support to MACRO command. ARGV is the list of all arguments and ARGN is the list of all nonexpected arguments
2004-04-29 17:41:33 -04:00
Bill Hoffman
c19a70b3ad
WRN: remove warnings
2004-04-27 08:30:25 -04:00
Ken Martin
2d53fcf035
macros now support varargs
2004-04-26 11:11:57 -04:00
Andy Cedilnik
96d561aabc
ENH: Add option to retrieve list of macros. Close Bug #25 - Get_CMAKE_PROPERTIES
2003-08-06 18:54:13 -04:00
Ken Martin
76b344c6fe
performance improvements
2003-06-24 15:11:21 -04:00
Ken Martin
b56dcc2a30
perf improvement
2003-06-23 16:26:48 -04:00
Ken Martin
6b22b8c556
better error reporting
2003-04-28 13:16:18 -04:00
Brad King
a37a934410
ENH: Improved error message for macro invoked with incorrect number of arguments.
2002-12-17 11:58:55 -05:00
Brad King
54541bd40a
ENH: Improved filename/line number reporting in error message. Macro invocations now chain up the error message.
2002-12-12 11:36:28 -05:00
Brad King
4888c088ae
ENH: Moved ExpandListVariables out of individual commands. Argument evaluation rules are now very consistent. Double quotes can always be used to create exactly one argument, regardless of contents inside.
2002-12-11 18:13:33 -05:00
Brad King
1f6a3c67b1
ENH: Added reference to Copyright.txt. Removed old reference to ITK copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs.
2002-10-23 18:03:27 -04:00
Ken Martin
7ddb408621
removed some includes
2002-09-27 16:24:10 -04:00
Ken Martin
4380c3b0f1
minor fix
2002-08-16 11:20:48 -04:00
Ken Martin
216c985f72
added new command
2002-08-13 15:46:33 -04:00