Tests/RunCMake/if: Optionally skip checking write-only directory permissions
Some file systems do not support this.
This commit is contained in:
parent
2a37015319
commit
a5f5a87482
@ -708,6 +708,9 @@ add_RunCMake_test(function)
|
||||
add_RunCMake_test(block)
|
||||
add_RunCMake_test(get_filename_component)
|
||||
add_RunCMake_test(get_property)
|
||||
if(DEFINED CMake_TEST_NO_WRITE_ONLY_DIR)
|
||||
list(APPEND if_ARGS -DCMake_TEST_NO_WRITE_ONLY_DIR=${CMake_TEST_NO_WRITE_ONLY_DIR})
|
||||
endif()
|
||||
add_RunCMake_test(if -DMSYS=${MSYS})
|
||||
add_RunCMake_test(include)
|
||||
add_RunCMake_test(include_directories)
|
||||
|
@ -81,11 +81,13 @@ else()
|
||||
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/readable-dir\" failed")
|
||||
endif()
|
||||
|
||||
if(NOT IS_WRITABLE "${CMAKE_CURRENT_BINARY_DIR}/writable-dir"
|
||||
OR IS_READABLE "${CMAKE_CURRENT_BINARY_DIR}/writable-dir"
|
||||
OR IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/writable-dir")
|
||||
cleanup()
|
||||
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/writable-dir\" failed")
|
||||
if(NOT NO_WRITABLE_DIR)
|
||||
if(NOT IS_WRITABLE "${CMAKE_CURRENT_BINARY_DIR}/writable-dir"
|
||||
OR IS_READABLE "${CMAKE_CURRENT_BINARY_DIR}/writable-dir"
|
||||
OR IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/writable-dir")
|
||||
cleanup()
|
||||
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/writable-dir\" failed")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/executable-dir"
|
||||
@ -161,11 +163,13 @@ if(UNIX)
|
||||
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/link-to-readable-dir\" failed")
|
||||
endif()
|
||||
|
||||
if(NOT IS_WRITABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-writable-dir"
|
||||
OR IS_READABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-writable-dir"
|
||||
OR IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-writable-dir")
|
||||
cleanup()
|
||||
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/link-to-writable-dir\" failed")
|
||||
if(NOT NO_WRITABLE_DIR)
|
||||
if(NOT IS_WRITABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-writable-dir"
|
||||
OR IS_READABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-writable-dir"
|
||||
OR IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-writable-dir")
|
||||
cleanup()
|
||||
message(FATAL_ERROR "checks on \"${CMAKE_CURRENT_BINARY_DIR}/link-to-writable-dir\" failed")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT IS_EXECUTABLE "${CMAKE_CURRENT_BINARY_DIR}/link-to-executable-dir"
|
||||
|
@ -7,7 +7,7 @@ if(NOT MSYS)
|
||||
# if real user is root, tests are irrelevant
|
||||
get_unix_uid(uid)
|
||||
if(NOT uid STREQUAL "0")
|
||||
run_cmake(FilePermissions)
|
||||
run_cmake_with_options(FilePermissions -DNO_WRITABLE_DIR=${CMake_TEST_NO_WRITE_ONLY_DIR})
|
||||
endif()
|
||||
endif()
|
||||
run_cmake(IsDirectory)
|
||||
|
Loading…
Reference in New Issue
Block a user