You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.1 KiB

message("Testing...")
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")
endif()
if(NOT EXISTS "${FILE_PATH}")
message(FATAL_ERROR "File ${FILE_PATH} does not exist")
endif()
if(NOT DEFINED EXPECT_SYMLINK)
message(FATAL_ERROR "EXPECT_SYMLINK must be defined")
endif()
if(EXPECT_SYMLINK)
if(NOT DEFINED EXPECT_ABSOLUTE)
message(FATAL_ERROR "EXPECT_ABSOLUTE variable must be defined")
endif()
if(NOT IS_SYMLINK "${FILE_PATH}")
message(FATAL_ERROR "${FILE_PATH} must be a symlink")
endif()
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")
endif()
else()
if(IS_SYMLINK "${FILE_PATH}")
message(FATAL_ERROR "${FILE_PATH} must NOT be a symlink")
endif()
endif()