mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-25 15:49:08 -05:00
Tests/RunCMake/if: Suppress FilePermissions failure on CYGWIN
After a recent update, CYGWIN no longer seems to recognize execute permission without read permission.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
if(CYGWIN)
|
||||||
|
set(maybe_exe_readable OWNER_READ)
|
||||||
|
else()
|
||||||
|
set(maybe_exe_readable "")
|
||||||
|
endif()
|
||||||
|
|
||||||
file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/readable.txt"
|
file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/readable.txt"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/writable.txt"
|
"${CMAKE_CURRENT_BINARY_DIR}/writable.txt"
|
||||||
@@ -10,7 +15,7 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/writable.txt" "foo")
|
|||||||
file(CHMOD "${CMAKE_CURRENT_BINARY_DIR}/writable.txt" PERMISSIONS OWNER_WRITE GROUP_WRITE)
|
file(CHMOD "${CMAKE_CURRENT_BINARY_DIR}/writable.txt" PERMISSIONS OWNER_WRITE GROUP_WRITE)
|
||||||
|
|
||||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/executable.txt" "foo")
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/executable.txt" "foo")
|
||||||
file(CHMOD "${CMAKE_CURRENT_BINARY_DIR}/executable.txt" PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
|
file(CHMOD "${CMAKE_CURRENT_BINARY_DIR}/executable.txt" PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE ${maybe_exe_readable})
|
||||||
|
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
file(REMOVE_RECURSE
|
file(REMOVE_RECURSE
|
||||||
@@ -67,7 +72,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/executable.txt"
|
if(NOT IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/executable.txt"
|
||||||
OR IS_READABLE "${CMAKE_CURRENT_BINARY_DIR}/executable.txt"
|
OR (IS_READABLE "${CMAKE_CURRENT_BINARY_DIR}/executable.txt" AND NOT maybe_exe_readable)
|
||||||
OR IS_WRITABLE "${CMAKE_CURRENT_BINARY_DIR}/executable.txt")
|
OR IS_WRITABLE "${CMAKE_CURRENT_BINARY_DIR}/executable.txt")
|
||||||
cleanup()
|
cleanup()
|
||||||
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/executable.txt\" failed")
|
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/executable.txt\" failed")
|
||||||
@@ -149,7 +154,7 @@ if(UNIX)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-executable.txt"
|
if(NOT IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-executable.txt"
|
||||||
OR IS_READABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-executable.txt"
|
OR (IS_READABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-executable.txt" AND NOT maybe_exe_readable)
|
||||||
OR IS_WRITABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-executable.txt")
|
OR IS_WRITABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-executable.txt")
|
||||||
cleanup()
|
cleanup()
|
||||||
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/link-to-executable.txt\" failed")
|
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/link-to-executable.txt\" failed")
|
||||||
|
|||||||
Reference in New Issue
Block a user