include ("${RunCMake_SOURCE_DIR}/check_errors.cmake") unset (errors) set (reference "../../a/d") cmake_path(ABSOLUTE_PATH reference BASE_DIRECTORY "/x/y/a/f") set(output "$") if (NOT output STREQUAL reference) list (APPEND errors "'${output}' instead of '${reference}'") endif() set (reference "../../a/d") cmake_path(ABSOLUTE_PATH reference BASE_DIRECTORY "/x/y/a/f" NORMALIZE) set(output "$") if (NOT output STREQUAL reference) list (APPEND errors "'${output}' instead of '${reference}'") endif() set (reference "/a/d/../e") cmake_path(ABSOLUTE_PATH reference BASE_DIRECTORY "/x/y/a/f") set(output "$") if (NOT output STREQUAL reference) list (APPEND errors "'${output}' instead of '${reference}'") endif() set (reference "/a/d/../e") cmake_path(ABSOLUTE_PATH reference BASE_DIRECTORY "/x/y/a/f" NORMALIZE) set(output "$") if (NOT output STREQUAL reference) list (APPEND errors "'${output}' instead of '${reference}'") endif() ###################################### ## tests with list of paths ###################################### unset (reference) foreach(item IN ITEMS "../../a/d" "/a/d/../e") cmake_path(ABSOLUTE_PATH item BASE_DIRECTORY "/x/y/a/f") list(APPEND reference "${item}") endforeach() set(output "$") if (NOT output STREQUAL reference) list (APPEND errors "'${output}' instead of '${reference}'") endif() unset (reference) foreach(item IN ITEMS "../../a/d" "/a/d/../e") cmake_path(ABSOLUTE_PATH item BASE_DIRECTORY "/x/y/a/f" NORMALIZE) list(APPEND reference "${item}") endforeach() set(output "$") if (NOT output STREQUAL reference) list (APPEND errors "'${output}' instead of '${reference}'") endif() check_errors("PATH:ABSOLUTE_PATH" ${errors})