ENH: Added test for IF inside a FOREACH.

This commit is contained in:
Brad King 2002-07-16 17:42:56 -04:00
parent 08f2876bb4
commit 3d3caacf9e
9 changed files with 84 additions and 6 deletions

View File

@ -160,6 +160,20 @@ SET(REMOVE_STRING a b c d e f)
SET(removeVar1 c e)
REMOVE(REMOVE_STRING ${removeVar1} f)
#
# Test an IF inside a FOREACH.
#
FOREACH(x "a")
IF(1)
# Should always execute.
SET(IF_INSIDE_FOREACH_THEN_EXECUTED 1)
ELSE(1)
# Should never execute.
SET(IF_INSIDE_FOREACH_ELSE_EXECUTED 1)
ENDIF(1)
ENDFOREACH(x)
#
# Configure file
# (plug vars to #define so that they can be tested)

View File

@ -799,8 +799,16 @@ int main()
else
{
cmFailed("cmSystemTools::UpperCase is working");
}
}
// ----------------------------------------------------------------------
// Test if IF command inside a FOREACH works.
#if defined(IF_INSIDE_FOREACH_THEN_EXECUTED) && !defined(IF_INSIDE_FOREACH_ELSE_EXECUTED)
cmPassed("IF inside a FOREACH block works");
#else
cmFailed("IF inside a FOREACH block is broken");
#endif
// ----------------------------------------------------------------------
// Summary

View File

@ -60,3 +60,7 @@
// Test Remove command
#define REMOVE_STRING "${REMOVE_STRING}"
// Test IF inside FOREACH
#cmakedefine IF_INSIDE_FOREACH_THEN_EXECUTED
#cmakedefine IF_INSIDE_FOREACH_ELSE_EXECUTED

View File

@ -160,6 +160,20 @@ SET(REMOVE_STRING a b c d e f)
SET(removeVar1 c e)
REMOVE(REMOVE_STRING ${removeVar1} f)
#
# Test an IF inside a FOREACH.
#
FOREACH(x "a")
IF(1)
# Should always execute.
SET(IF_INSIDE_FOREACH_THEN_EXECUTED 1)
ELSE(1)
# Should never execute.
SET(IF_INSIDE_FOREACH_ELSE_EXECUTED 1)
ENDIF(1)
ENDFOREACH(x)
#
# Configure file
# (plug vars to #define so that they can be tested)

View File

@ -799,8 +799,16 @@ int main()
else
{
cmFailed("cmSystemTools::UpperCase is working");
}
}
// ----------------------------------------------------------------------
// Test if IF command inside a FOREACH works.
#if defined(IF_INSIDE_FOREACH_THEN_EXECUTED) && !defined(IF_INSIDE_FOREACH_ELSE_EXECUTED)
cmPassed("IF inside a FOREACH block works");
#else
cmFailed("IF inside a FOREACH block is broken");
#endif
// ----------------------------------------------------------------------
// Summary

View File

@ -60,3 +60,7 @@
// Test Remove command
#define REMOVE_STRING "${REMOVE_STRING}"
// Test IF inside FOREACH
#cmakedefine IF_INSIDE_FOREACH_THEN_EXECUTED
#cmakedefine IF_INSIDE_FOREACH_ELSE_EXECUTED

View File

@ -160,6 +160,20 @@ SET(REMOVE_STRING a b c d e f)
SET(removeVar1 c e)
REMOVE(REMOVE_STRING ${removeVar1} f)
#
# Test an IF inside a FOREACH.
#
FOREACH(x "a")
IF(1)
# Should always execute.
SET(IF_INSIDE_FOREACH_THEN_EXECUTED 1)
ELSE(1)
# Should never execute.
SET(IF_INSIDE_FOREACH_ELSE_EXECUTED 1)
ENDIF(1)
ENDFOREACH(x)
#
# Configure file
# (plug vars to #define so that they can be tested)

View File

@ -799,8 +799,16 @@ int main()
else
{
cmFailed("cmSystemTools::UpperCase is working");
}
}
// ----------------------------------------------------------------------
// Test if IF command inside a FOREACH works.
#if defined(IF_INSIDE_FOREACH_THEN_EXECUTED) && !defined(IF_INSIDE_FOREACH_ELSE_EXECUTED)
cmPassed("IF inside a FOREACH block works");
#else
cmFailed("IF inside a FOREACH block is broken");
#endif
// ----------------------------------------------------------------------
// Summary

View File

@ -60,3 +60,7 @@
// Test Remove command
#define REMOVE_STRING "${REMOVE_STRING}"
// Test IF inside FOREACH
#cmakedefine IF_INSIDE_FOREACH_THEN_EXECUTED
#cmakedefine IF_INSIDE_FOREACH_ELSE_EXECUTED