| |
| include ("${RunCMake_SOURCE_DIR}/check_errors.cmake") |
| unset (errors) |
| |
| ############################################### |
| ## First test with a path defining all elements |
| ############################################### |
| if (WIN32) |
| set (path "C:/aa/bb/cc.ext1.ext2") |
| else() |
| set (path "/aa/bb/cc.ext1.ext2") |
| endif() |
| |
| cmake_path(GET path ROOT_NAME output) |
| if (WIN32) |
| if (NOT output STREQUAL "C:") |
| list (APPEND errors "ROOT_NAME returns bad data: ${output}") |
| endif() |
| else() |
| if (NOT output STREQUAL "") |
| list (APPEND errors "ROOT_NAME returns bad data: ${output}") |
| endif() |
| endif() |
| |
| cmake_path(GET path ROOT_DIRECTORY output) |
| if (NOT output STREQUAL "/") |
| list (APPEND errors "ROOT_DIRECTORY returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path ROOT_PATH output) |
| if (WIN32) |
| if (NOT output STREQUAL "C:/") |
| list (APPEND errors "ROOT_PATH returns bad data: ${output}") |
| endif() |
| else() |
| if (NOT output STREQUAL "/") |
| list (APPEND errors "ROOT_PATH returns bad data: ${output}") |
| endif() |
| endif() |
| |
| cmake_path(GET path FILENAME output) |
| if (NOT output STREQUAL "cc.ext1.ext2") |
| list (APPEND errors "FILENAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path EXTENSION output) |
| if (NOT output STREQUAL ".ext1.ext2") |
| list (APPEND errors "EXTENSION returns bad data: ${output}") |
| endif() |
| cmake_path(GET path EXTENSION LAST_ONLY output) |
| if (NOT output STREQUAL ".ext2") |
| list (APPEND errors "EXTENSION LAST_ONLY returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path STEM output) |
| if (NOT output STREQUAL "cc") |
| list (APPEND errors "STEM returns bad data: ${output}") |
| endif() |
| cmake_path(GET path STEM LAST_ONLY output) |
| if (NOT output STREQUAL "cc.ext1") |
| list (APPEND errors "STEM LAST_ONLY returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path RELATIVE_PART output) |
| if (NOT output STREQUAL "aa/bb/cc.ext1.ext2") |
| list (APPEND errors "RELATIVE_PART returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path PARENT_PATH output) |
| if (WIN32) |
| if (NOT output STREQUAL "C:/aa/bb") |
| list (APPEND errors "PARENT_PATH returns bad data: ${output}") |
| endif() |
| else() |
| if (NOT output STREQUAL "/aa/bb") |
| list (APPEND errors "PARENT_PATH returns bad data: ${output}") |
| endif() |
| endif() |
| |
| ###################################### |
| ## second, tests with missing elements |
| ###################################### |
| set (path "aa/bb/") |
| |
| cmake_path(GET path ROOT_NAME output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "ROOT_NAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path ROOT_DIRECTORY output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "ROOT_DIRECTORY returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path ROOT_PATH output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "ROOT_PATH returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path FILENAME output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "FILENAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path EXTENSION output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "EXTENSION returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path STEM output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "STEM returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path RELATIVE_PART output) |
| if (NOT output STREQUAL path) |
| list (APPEND errors "RELATIVE_PART returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path PARENT_PATH output) |
| if (NOT output STREQUAL "aa/bb") |
| list (APPEND errors "PARENT_PATH returns bad data: ${output}") |
| endif() |
| |
| ################################## |
| set (path "/aa/bb/") |
| |
| cmake_path(GET path ROOT_NAME output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "ROOT_NAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path ROOT_DIRECTORY output) |
| if (NOT output STREQUAL "/") |
| list (APPEND errors "ROOT_DIRECTORY returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path ROOT_PATH output) |
| if (NOT output STREQUAL "/") |
| list (APPEND errors "ROOT_PATH returns bad data: ${output}") |
| endif() |
| |
| ################################### |
| set (path "/") |
| |
| cmake_path(GET path ROOT_NAME output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "ROOT_NAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path ROOT_DIRECTORY output) |
| if (NOT output STREQUAL "/") |
| list (APPEND errors "ROOT_DIRECTORY returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path ROOT_PATH output) |
| if (NOT output STREQUAL "/") |
| list (APPEND errors "ROOT_PATH returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path FILENAME output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "FILENAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path EXTENSION output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "EXTENSION returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path STEM output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "STEM returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path RELATIVE_PART output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "RELATIVE_PART returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path PARENT_PATH output) |
| if (NOT output STREQUAL "/") |
| list (APPEND errors "PARENT_PATH returns bad data: ${output}") |
| endif() |
| |
| ################################### |
| set (path ".file") |
| |
| cmake_path(GET path FILENAME output) |
| if (NOT output STREQUAL ".file") |
| list (APPEND errors "FILENAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path EXTENSION output) |
| if (NOT output STREQUAL "") |
| list (APPEND errors "EXTENSION returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path STEM output) |
| if (NOT output STREQUAL ".file") |
| list (APPEND errors "STEM returns bad data: ${output}") |
| endif() |
| |
| ################################### |
| set (path ".file.ext") |
| |
| cmake_path(GET path FILENAME output) |
| if (NOT output STREQUAL ".file.ext") |
| list (APPEND errors "FILENAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path EXTENSION output) |
| if (NOT output STREQUAL ".ext") |
| list (APPEND errors "EXTENSION returns bad data: ${output}") |
| endif() |
| cmake_path(GET path EXTENSION LAST_ONLY output) |
| if (NOT output STREQUAL ".ext") |
| list (APPEND errors "EXTENSION returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path STEM output) |
| if (NOT output STREQUAL ".file") |
| list (APPEND errors "STEM returns bad data: ${output}") |
| endif() |
| |
| ################################### |
| set (path ".file.ext1.ext2") |
| |
| cmake_path(GET path FILENAME output) |
| if (NOT output STREQUAL ".file.ext1.ext2") |
| list (APPEND errors "FILENAME returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path EXTENSION output) |
| if (NOT output STREQUAL ".ext1.ext2") |
| list (APPEND errors "EXTENSION returns bad data: ${output}") |
| endif() |
| cmake_path(GET path EXTENSION LAST_ONLY output) |
| if (NOT output STREQUAL ".ext2") |
| list (APPEND errors "EXTENSION returns bad data: ${output}") |
| endif() |
| |
| cmake_path(GET path STEM output) |
| if (NOT output STREQUAL ".file") |
| list (APPEND errors "STEM returns bad data: ${output}") |
| endif() |
| |
| check_errors (GET ${errors}) |