| function(check_output name expected) |
| set(output "${${name}}") |
| if(NOT output STREQUAL expected) |
| message(FATAL_ERROR "\"string(REGEX)\" set ${name} to \"${output}\", expected \"${expected}\"") |
| endif() |
| endfunction() |
| |
| # OLD |
| cmake_policy(SET CMP0186 OLD) |
| |
| string(REGEX MATCHALL "^0" out "0000") |
| check_output(out "0;0;0;0") |
| |
| string(REGEX MATCHALL "^0+" out "0000") |
| check_output(out "0000") |
| |
| string(REGEX MATCHALL "^(0|a)" out "0000" ) |
| check_output(out "0;0;0;0") |
| |
| string(REGEX MATCHALL "^(0|a)" out "aaaa") |
| check_output(out "a;a;a;a") |
| |
| string(REGEX MATCHALL "^(0|a)" out "a0a0") |
| check_output(out "a;0;a;0") |
| |
| string(REGEX MATCHALL "(^|a)0" out "00a0") |
| check_output(out "0;0;a0") |
| |
| string(REGEX REPLACE "^0" "" out "0000") |
| check_output(out "") |
| |
| string(REGEX REPLACE "^0" "x" out "0000") |
| check_output(out "xxxx") |
| |
| string(REGEX REPLACE "^0+" "x" out "0000") |
| check_output(out "x") |
| |
| string(REGEX REPLACE "^(0|a)" "x" out "0000") |
| check_output(out "xxxx") |
| |
| string(REGEX REPLACE "^(0|a)" "x" out "aaaa") |
| check_output(out "xxxx") |
| |
| string(REGEX REPLACE "^(0|a)" "x" out "a0a0") |
| check_output(out "xxxx") |
| |
| string(REGEX REPLACE "(^|a)0" "x" out "00a0") |
| check_output(out "xxx") |
| |
| # NEW, same cases as above |
| cmake_policy(SET CMP0186 NEW) |
| |
| string(REGEX MATCHALL "^0" out "0000") |
| check_output(out "0") |
| |
| string(REGEX MATCHALL "^0+" out "0000") |
| check_output(out "0000") |
| |
| string(REGEX MATCHALL "^(0|a)" out "0000") |
| check_output(out "0") |
| |
| string(REGEX MATCHALL "^(0|a)" out "aaaa") |
| check_output(out "a") |
| |
| string(REGEX MATCHALL "^(0|a)" out "a0a0") |
| check_output(out "a") |
| |
| string(REGEX MATCHALL "(^|a)0" out "00a0") |
| check_output(out "0;a0") |
| |
| string(REGEX REPLACE "^0" "" out "0000") |
| check_output(out "000") |
| |
| string(REGEX REPLACE "^0" "x" out "0000") |
| check_output(out "x000") |
| |
| string(REGEX REPLACE "^0+" "x" out "0000") |
| check_output(out "x") |
| |
| string(REGEX REPLACE "^(0|a)" "x" out "0000") |
| check_output(out "x000") |
| |
| string(REGEX REPLACE "^(0|a)" "x" out "aaaa") |
| check_output(out "xaaa") |
| |
| string(REGEX REPLACE "^(0|a)" "x" out "a0a0") |
| check_output(out "x0a0") |
| |
| string(REGEX REPLACE "(^|a)0" "x" out "00a0") |
| check_output(out "x0x") |