| |
| include ("${RunCMake_SOURCE_DIR}/check_errors.cmake") |
| unset (errors) |
| |
| cmake_path (APPEND path "/a/b" "c") |
| set(output "$<PATH:APPEND,/a/b,c>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| |
| set (path "a") |
| cmake_path (APPEND path "") |
| set(output "$<PATH:APPEND,a,>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| |
| cmake_path (APPEND path "/b") |
| set(output "$<PATH:APPEND,a/,/b>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| |
| if (WIN32) |
| set (path "a") |
| cmake_path (APPEND path "c:/b") |
| set(output "$<PATH:APPEND,a,c:/b>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| |
| set (path "a") |
| cmake_path (APPEND path "c:") |
| set(output "$<PATH:APPEND,a,c:>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| |
| set (path "c:a") |
| cmake_path (APPEND path "/b") |
| set(output "$<PATH:APPEND,c:a,/b>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| |
| set (path "c:a") |
| cmake_path (APPEND path "c:b") |
| set(output "$<PATH:APPEND,c:a,c:b>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| |
| set (path "//host") |
| cmake_path (APPEND path "b") |
| set(output "$<PATH:APPEND,//host,b>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| |
| set (path "//host/") |
| cmake_path (APPEND path "b") |
| set(output "$<PATH:APPEND,//host/,b>") |
| if (NOT output STREQUAL path) |
| list (APPEND errors "'${output}' instead of '${path}'") |
| endif() |
| endif() |
| |
| |
| ###################################### |
| ## tests with list of paths |
| ###################################### |
| unset(reference) |
| foreach(item IN ITEMS "/a/b" "/x/y") |
| cmake_path (APPEND result "${item}" "c") |
| list(APPEND reference "${result}") |
| endforeach() |
| set(output "$<PATH:APPEND,/a/b;/x/y,c>") |
| if (NOT output STREQUAL reference) |
| list (APPEND errors "'${output}' instead of '${reference}'") |
| endif() |
| |
| unset(reference) |
| foreach(item IN ITEMS "a" "c") |
| cmake_path (APPEND item "") |
| list(APPEND reference "${item}") |
| endforeach() |
| set(output "$<PATH:APPEND,a;c,>") |
| if (NOT output STREQUAL reference) |
| list (APPEND errors "'${output}' instead of '${reference}'") |
| endif() |
| |
| unset(reference) |
| foreach(item IN ITEMS "a/" "c/") |
| cmake_path (APPEND item "/b") |
| list(APPEND reference "${item}") |
| endforeach() |
| set(output "$<PATH:APPEND,a/;c/,/b>") |
| if (NOT output STREQUAL reference) |
| list (APPEND errors "'${output}' instead of '${reference}'") |
| endif() |
| |
| |
| check_errors ("PATH:APPEND" ${errors}) |