summaryrefslogtreecommitdiffstats
path: root/Source/cmFunctionCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* ENH: Better policies for functions and macrosBrad King2009-01-221-0/+8
| | | | | | | This teaches functions and macros to use policies recorded at creation time when they are invoked. It restores the policies as a weak policy stack entry so that any policies set by a function escape to its caller as before.
* ENH: Enforce logical blocks in functions/macrosBrad King2009-01-211-0/+2
| | | | | This teaches function() and macro() to enforce matching logical blocks inside the recorded bodies. This makes the error message more specific.
* ENH: Better handling of mismatched blocksBrad King2009-01-211-1/+1
| | | | | | | | | | | | | | | | 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.
* ENH: Better error message for unclosed blocksBrad King2009-01-211-11/+0
| | | | | | 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.
* BUG: Pop a function scope even on errorBrad King2009-01-141-3/+2
| | | | | | This uses an automatic variable to push and pop variable scope inside a function call. Previously if the function failed its scope would not be popped. This approach guarantees a balanced push/pop.
* ENH: New format for warning and error messagesBrad King2008-03-071-12/+6
| | | | | | | | | | | | | - 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
* ENH: make CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS the default and remove the ↵Bill Hoffman2008-02-291-5/+5
| | | | 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.
* ENH: add return and break support to cmake, also change basic command ↵Ken Martin2008-01-231-6/+17
| | | | invocation signature to be able to return extra informaiton via the cmExecutionStatus class
* BUG: fix issue with CMAKE_CURENT_LIST_FILE reporting in funcitonsKen Martin2007-12-201-2/+12
|
* COMP: fix style and work around old compilersKen Martin2007-12-041-3/+3
|
* ENH: add functions and raise scope to cmakeKen Martin2007-12-031-0/+277