summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-06-15 12:57:58 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-06-15 12:58:06 (GMT)
commit50bb15d477c45013f4ce7d485c696674f11722f4 (patch)
treec2a4b54bc1d4c19201c2b15642fc8ed1f74887c4
parent6dc7c1f85d7a01917f7f239866f88ebc3268df89 (diff)
parentcc02ced530a40f98c7bf643cd91e4b811a0e3f7a (diff)
downloadCMake-50bb15d477c45013f4ce7d485c696674f11722f4.zip
CMake-50bb15d477c45013f4ce7d485c696674f11722f4.tar.gz
CMake-50bb15d477c45013f4ce7d485c696674f11722f4.tar.bz2
Merge topic 'revert-find_program-exe-no-read'
cc02ced530 find_program: Revert "Find programs that are executable but not readable" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4871
-rw-r--r--Source/cmFindProgramCommand.cxx2
-rw-r--r--Tests/RunCMake/find_program/ExeNoRead-stdout.txt2
-rw-r--r--Tests/RunCMake/find_program/RunCMakeTest.cmake12
3 files changed, 11 insertions, 5 deletions
diff --git a/Source/cmFindProgramCommand.cxx b/Source/cmFindProgramCommand.cxx
index 599b1d2..4b88bea 100644
--- a/Source/cmFindProgramCommand.cxx
+++ b/Source/cmFindProgramCommand.cxx
@@ -85,7 +85,7 @@ struct cmFindProgramHelper
this->TestNameExt = cmStrCat(name, ext);
this->TestPath =
cmSystemTools::CollapseFullPath(this->TestNameExt, path);
- bool exists = cmSystemTools::FileIsExecutable(this->TestPath);
+ bool exists = cmSystemTools::FileExists(this->TestPath, true);
exists ? this->DebugSearches.FoundAt(this->TestPath)
: this->DebugSearches.FailedAt(this->TestPath);
if (exists) {
diff --git a/Tests/RunCMake/find_program/ExeNoRead-stdout.txt b/Tests/RunCMake/find_program/ExeNoRead-stdout.txt
index 35a83f2..f231178 100644
--- a/Tests/RunCMake/find_program/ExeNoRead-stdout.txt
+++ b/Tests/RunCMake/find_program/ExeNoRead-stdout.txt
@@ -1 +1 @@
--- ExeNoRead_EXECUTABLE='.*/Tests/RunCMake/find_program/ExeNoRead-build/ExeNoRead'
+-- ExeNoRead_EXECUTABLE='ExeNoRead_EXECUTABLE-NOTFOUND'
diff --git a/Tests/RunCMake/find_program/RunCMakeTest.cmake b/Tests/RunCMake/find_program/RunCMakeTest.cmake
index 95ffd84..2bb777b 100644
--- a/Tests/RunCMake/find_program/RunCMakeTest.cmake
+++ b/Tests/RunCMake/find_program/RunCMakeTest.cmake
@@ -9,8 +9,14 @@ run_cmake(Required)
if(CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN)$")
run_cmake(WindowsCom)
run_cmake(WindowsExe)
-endif()
+else()
+ # test non readable file only if not root
+ execute_process(
+ COMMAND id -u $ENV{USER}
+ OUTPUT_VARIABLE uid
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
-if(UNIX)
- run_cmake(ExeNoRead)
+ if(NOT "${uid}" STREQUAL "0")
+ run_cmake(ExeNoRead)
+ endif()
endif()