ENH: Add RANGE support to FOREACH

This commit is contained in:
Andy Cedilnik
2004-04-29 15:12:40 -04:00
parent ae50b4bc6a
commit 8750f1c277
3 changed files with 103 additions and 2 deletions

View File

@@ -73,3 +73,22 @@ FILE(GLOB src_files "${expr}")
MESSAGE("Globbed files [${src_files}].")
ADD_EXECUTABLE(StringFileTest ${src_files})
# Test FOREACH range
MESSAGE("Cheack if FOREACH with RANGE works")
MACRO(TEST_RANGE ARGS CHECK)
SET(r)
FOREACH(a RANGE ${ARGS})
SET(r ${r} ${a})
ENDFOREACH(a)
MESSAGE("FOREACH with RANGE ${ARGS} produces ${r}")
IF("x${r}x" MATCHES "^x${CHECK}x$")
ELSE("x${r}x" MATCHES "^x${CHECK}x$")
MESSAGE(SEND_ERROR "The range resulted in: ${r} should be ${CHECK}")
ENDIF("x${r}x" MATCHES "^x${CHECK}x$")
ENDMACRO(TEST_RANGE)
TEST_RANGE("5" "0;1;2;3;4;5")
TEST_RANGE("3;5" "3;4;5")
TEST_RANGE("5;3" "5;4;3")
TEST_RANGE("3;10;2" "3;5;7;9")
TEST_RANGE("10;0;-3" "10;7;4;1")