| message("FILE_PATH = ${FILE_PATH}") |
| message("EXPECT_SYMLINK = ${EXPECT_SYMLINK}") |
| message("EXPECT_ABSOLUTE = ${EXPECT_ABSOLUTE}") |
| if(NOT DEFINED FILE_PATH) |
| message(FATAL_ERROR "FILE_PATH variable must be defined") |
| if(NOT EXISTS "${FILE_PATH}") |
| message(FATAL_ERROR "File ${FILE_PATH} does not exist") |
| if(NOT DEFINED EXPECT_SYMLINK) |
| message(FATAL_ERROR "EXPECT_SYMLINK must be defined") |
| if(NOT DEFINED EXPECT_ABSOLUTE) |
| message(FATAL_ERROR "EXPECT_ABSOLUTE variable must be defined") |
| if(NOT IS_SYMLINK "${FILE_PATH}") |
| message(FATAL_ERROR "${FILE_PATH} must be a symlink") |
| file(READ_SYMLINK "${FILE_PATH}" TARGET_PATH) |
| if(EXPECT_ABSOLUTE AND NOT IS_ABSOLUTE "${TARGET_PATH}") |
| message(FATAL_ERROR "${FILE_PATH} must be an absolute symlink") |
| elseif(NOT EXPECT_ABSOLUTE AND IS_ABSOLUTE "${TARGET_PATH}") |
| message(FATAL_ERROR "${FILE_PATH} must be a relative symlink") |
| if(IS_SYMLINK "${FILE_PATH}") |
| message(FATAL_ERROR "${FILE_PATH} must NOT be a symlink") |