Test.cmake 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. message("Testing...")
  2. message("FILE_PATH = ${FILE_PATH}")
  3. message("EXPECT_SYMLINK = ${EXPECT_SYMLINK}")
  4. message("EXPECT_ABSOLUTE = ${EXPECT_ABSOLUTE}")
  5. if(NOT DEFINED FILE_PATH)
  6. message(FATAL_ERROR "FILE_PATH variable must be defined")
  7. endif()
  8. if(NOT EXISTS "${FILE_PATH}")
  9. message(FATAL_ERROR "File ${FILE_PATH} does not exist")
  10. endif()
  11. if(NOT DEFINED EXPECT_SYMLINK)
  12. message(FATAL_ERROR "EXPECT_SYMLINK must be defined")
  13. endif()
  14. if(EXPECT_SYMLINK)
  15. if(NOT DEFINED EXPECT_ABSOLUTE)
  16. message(FATAL_ERROR "EXPECT_ABSOLUTE variable must be defined")
  17. endif()
  18. if(NOT IS_SYMLINK "${FILE_PATH}")
  19. message(FATAL_ERROR "${FILE_PATH} must be a symlink")
  20. endif()
  21. file(READ_SYMLINK "${FILE_PATH}" TARGET_PATH)
  22. if(EXPECT_ABSOLUTE AND NOT IS_ABSOLUTE "${TARGET_PATH}")
  23. message(FATAL_ERROR "${FILE_PATH} must be an absolute symlink")
  24. elseif(NOT EXPECT_ABSOLUTE AND IS_ABSOLUTE "${TARGET_PATH}")
  25. message(FATAL_ERROR "${FILE_PATH} must be a relative symlink")
  26. endif()
  27. else()
  28. if(IS_SYMLINK "${FILE_PATH}")
  29. message(FATAL_ERROR "${FILE_PATH} must NOT be a symlink")
  30. endif()
  31. endif()