summaryrefslogtreecommitdiffstats
path: root/Source/cmIfCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ENH: warning fixKen Martin2009-06-121-4/+4
|
* ENH: modified the if command to address bug 9123 someKen Martin2009-06-121-111/+233
|
* ENH: Better handling of mismatched blocksBrad King2009-01-211-1/+2
| | | | | | | | | | | | | | | | 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-18/+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.
* ENH: Refactor function blocker deletionBrad King2009-01-201-12/+4
| | | | | | | | | When a function blocker decides to remove itself we previously removed it at every return point from the C++ scope in which its removal is needed. This teaches function blockers to transfer ownership of themselves from cmMakefile to an automatic variable for deletion on return. Since this removes blockers before they replay their commands, we no longer need to avoid running blockers on their own commands.
* ENH: Improve response to bad if or elseifBrad King2009-01-201-2/+9
| | | | | | | Previously bad arguments to an if() or elseif() would cause some subsequent statements in the corresponding block to execute. This teaches CMake to stop processing commands with a fatal error. It also provides context to bad elseif() error messages.
* STYLE: fix line length stuff for KWStyleBill Hoffman2008-10-011-1/+2
|
* ENH: Add version comparison to if() commandBrad King2008-09-101-0/+48
| | | | | | Provide VERSION_LESS, VERSION_EQUAL, and VERSION_GREATER operators in the if() command. This simplifies component-wise comparison of version numbers in the form "major[.minor[.patch[.tweak]]]".
* ENH: Add if(TARGET) commandBrad King2008-08-201-0/+7
| | | | | | | | | | It is useful to be able to test if a target has been created. Often targets are created only inside conditions. Rather than storing the result of the condition manually for testing by other parts of the project, it is much easier for the other parts to just test for the target's existence. This will also be useful when find-modules start reporting results with IMPORTED targets and projects want to test if a certain target is available.
* BUG: fix memory leak and cleanup error string codeKen Martin2008-06-281-31/+21
|
* ENH: support parenthesis as arguments and in conditionals feature request #6191Ken Martin2008-06-261-222/+277
|
* ENH: Add "if(POLICY policy-id)" option for IF command.Brad King2008-03-201-0/+17
| | | | | | | | | | | - This will help projects support multiple CMake versions. - In order to set a policy when using a newer CMake but still working with an older CMake one may write if(POLICY CMP1234) cmake_policy(SET CMP1234 NEW) endif(POLICY CMP1234) - Note that since CMake 2.4 does not have if(POLICY) supporting it will also require using "if(COMMAND cmake_policy)"
* ENH: fix warningsBill Hoffman2008-03-011-1/+1
|
* ENH: make CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS the default and remove the ↵Bill Hoffman2008-02-291-3/+4
| | | | 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-64/+99
| | | | invocation signature to be able to return extra informaiton via the cmExecutionStatus class
* BUG: this seems to fix the regexp result-storage problem, now it seems the ↵Alexander Neundorf2007-08-291-1/+1
| | | | | | actual result is tored instead of "1" , as it happened for StringFileTest on Windows Alex
* ENH: also store the group matches from IF( MATCHES) in CMAKE_MATCH_(0..9)Alexander Neundorf2007-08-291-1/+5
| | | | Alex
* ENH: add IF(IS_ABSOLUTE path), so no regex matching is required in the cmake ↵Alexander Neundorf2007-06-061-0/+16
| | | | | | scripts Alex
* BUG: All variable accesses should produce watch callbacks, including ↵Brad King2007-05-171-3/+4
| | | | IF(DEFINED <var>) ones. Instead we define a new access type for IF(DEFINED) so that the error does not show up for backward compatibility variables.
* BUG: Do not complain about missing watched variables when they are accessd ↵Brad King2007-05-171-1/+1
| | | | with IF(DEFINED VAR).
* ENH: fix a warning and a nice fix to the IF commandKen Martin2006-12-121-4/+18
|
* ENH: make properties a bit more formal with documentation and chainingKen Martin2006-12-071-1/+2
|
* ENH: remove old hack now that project level compatibility files are supportedKen Martin2006-11-161-17/+0
|
* BUG: It cannot be an error if the values do not convert. The docs say that ↵Brad King2006-10-251-17/+4
| | | | if the values do not convert the test is false.
* BUG: For LESS, GREATER, and EQUAL check that the arguments can actually be ↵Brad King2006-10-251-3/+23
| | | | converted to numbers. Also force the conversion results to be stored in memory to make sure they both use the same precision. This addresses bug#3966.
* ENH: Remove old IF(FILE_IS_NEWER) syntax. It was never in a release anyway.Brad King2006-10-231-23/+0
|
* ENH: Patch from Alex to provide nicer syntax for FILE_IS_NEWER. Using name ↵Brad King2006-10-231-0/+23
| | | | IS_NEWER_THAN so old syntax will continue to work.
* ENH: added elseifKen Martin2006-09-221-9/+56
|
* STYLE: Fixed line-too-long.Brad King2006-08-261-3/+5
|
* ENH: Patch from Alex for adding IF(FILE_IS_NEWER). I also added a test.Brad King2006-08-251-1/+22
|
* ENH: reduce string construct delete opsKen Martin2006-05-311-5/+5
|
* COMP: fix warningKen Martin2006-05-191-2/+0
|
* ENH: allow loose loop constructsKen Martin2006-05-181-32/+13
|
* STYLE: fix line lengthKen Martin2006-05-111-4/+8
|
* ENH: add support for win64 for visual studio 2005 ide and nmake, also fix ↵Bill Hoffman2006-03-301-1/+1
| | | | warnings produced by building for win64
* ENH: added some new functionalityKen Martin2006-03-221-6/+22
|
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-20/+20
|
* ENH: Allow IF(DEFINED ENV{somevar}) to work.Brad King2006-02-101-1/+11
|
* BUG: clean up scopingKen Martin2005-11-171-9/+12
|
* BUG: fix incrementing past endKen Martin2005-11-171-3/+1
|
* BUG: fix incrementing past endKen Martin2005-11-171-39/+29
|
* ENH: converted macro to use variables and fixed some case issues with some ↵Ken Martin2005-06-231-4/+5
| | | | function blockers
* ERR: Fix warnings and memory leakAndy Cedilnik2004-08-041-23/+30
|
* BUG: When regular expression failes to compile, produce error: Fixes part of ↵Andy Cedilnik2004-08-031-10/+22
| | | | Bug #1025 - CMake silently ignores regular expression failure
* added strequalKen Martin2004-06-141-19/+21
|
* BUG: fix crash for if statment due to bad microsoft docs on deque BUG id 917Bill Hoffman2004-06-111-51/+110
|
* horrible hackKen Martin2004-05-061-0/+16
|
* fix warningKen Martin2004-05-041-1/+1
|
* minor backwards fixKen Martin2004-05-031-0/+7
|
* better if expression supportKen Martin2004-05-011-119/+273
|