This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via 20a2a98d7b2f61dd3ac74b7073a15ca84efb517d (commit) via 31e6571cca3267cf1f5e17df7c985521211885ef (commit) from 2a94c83c8babd8c42001d593dbafe6faaf291938 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=20a2a98d7b2f61dd3ac74b7073a15ca84efb517d commit 20a2a98d7b2f61dd3ac74b7073a15ca84efb517d Merge: 2a94c83 31e6571 Author: Brad King <brad.k...@kitware.com> AuthorDate: Fri Oct 30 07:41:38 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Oct 30 07:41:38 2015 -0400 Merge topic 'fix-find_program-regression' into next 31e6571c find_program: Fix regression in finding an already-known path https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=31e6571cca3267cf1f5e17df7c985521211885ef commit 31e6571cca3267cf1f5e17df7c985521211885ef Author: Brad King <brad.k...@kitware.com> AuthorDate: Thu Oct 29 17:50:19 2015 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Oct 30 07:40:46 2015 -0400 find_program: Fix regression in finding an already-known path Changes in commit v3.4.0-rc1~124^2~1 (cmFindProgramCommand: Re-implement search using more flexible approach, 2015-09-01) did not preserve the behavior of looking for the given name with no search path at all. Fix this and add a test case covering finding an absolute path with no search directories. diff --git a/Source/cmFindProgramCommand.cxx b/Source/cmFindProgramCommand.cxx index e64ed87..219ad48 100644 --- a/Source/cmFindProgramCommand.cxx +++ b/Source/cmFindProgramCommand.cxx @@ -176,6 +176,13 @@ std::string cmFindProgramCommand::FindNormalProgramNamesPerDir() { helper.AddName(*ni); } + + // Check for the names themselves (e.g. absolute paths). + if (helper.CheckDirectory(std::string())) + { + return helper.BestPath; + } + // Search every directory. for (std::vector<std::string>::const_iterator p = this->SearchPaths.begin(); p != this->SearchPaths.end(); ++p) @@ -200,6 +207,12 @@ std::string cmFindProgramCommand::FindNormalProgramDirsPerName() // Switch to searching for this name. helper.SetName(*ni); + // Check for the name by itself (e.g. an absolute path). + if (helper.CheckDirectory(std::string())) + { + return helper.BestPath; + } + // Search every directory. for (std::vector<std::string>::const_iterator p = this->SearchPaths.begin(); diff --git a/Tests/RunCMake/find_program/DirsPerName-stdout.txt b/Tests/RunCMake/find_program/DirsPerName-stdout.txt index f763bb0..dc1c82b 100644 --- a/Tests/RunCMake/find_program/DirsPerName-stdout.txt +++ b/Tests/RunCMake/find_program/DirsPerName-stdout.txt @@ -1 +1,2 @@ -- PROG='[^']*/Tests/RunCMake/find_program/B/testB' +-- PROG_ABS='[^']*/Tests/RunCMake/find_program/A/testA' diff --git a/Tests/RunCMake/find_program/DirsPerName.cmake b/Tests/RunCMake/find_program/DirsPerName.cmake index 54db6dd..6db778d 100644 --- a/Tests/RunCMake/find_program/DirsPerName.cmake +++ b/Tests/RunCMake/find_program/DirsPerName.cmake @@ -4,3 +4,9 @@ find_program(PROG NO_DEFAULT_PATH ) message(STATUS "PROG='${PROG}'") + +find_program(PROG_ABS + NAMES ${CMAKE_CURRENT_SOURCE_DIR}/A/testA + NO_DEFAULT_PATH + ) +message(STATUS "PROG_ABS='${PROG_ABS}'") diff --git a/Tests/RunCMake/find_program/NamesPerDir-stdout.txt b/Tests/RunCMake/find_program/NamesPerDir-stdout.txt index 964e259..fd79185 100644 --- a/Tests/RunCMake/find_program/NamesPerDir-stdout.txt +++ b/Tests/RunCMake/find_program/NamesPerDir-stdout.txt @@ -1 +1,2 @@ -- PROG='[^']*/Tests/RunCMake/find_program/A/testA' +-- PROG_ABS='[^']*/Tests/RunCMake/find_program/A/testA' diff --git a/Tests/RunCMake/find_program/NamesPerDir.cmake b/Tests/RunCMake/find_program/NamesPerDir.cmake index 49ce49d..5f00a28 100644 --- a/Tests/RunCMake/find_program/NamesPerDir.cmake +++ b/Tests/RunCMake/find_program/NamesPerDir.cmake @@ -4,3 +4,9 @@ find_program(PROG NO_DEFAULT_PATH ) message(STATUS "PROG='${PROG}'") + +find_program(PROG_ABS + NAMES ${CMAKE_CURRENT_SOURCE_DIR}/A/testA NAMES_PER_DIR + NO_DEFAULT_PATH + ) +message(STATUS "PROG_ABS='${PROG_ABS}'") ----------------------------------------------------------------------- Summary of changes: Source/cmFindProgramCommand.cxx | 13 +++++++++++++ Tests/RunCMake/find_program/DirsPerName-stdout.txt | 1 + Tests/RunCMake/find_program/DirsPerName.cmake | 6 ++++++ Tests/RunCMake/find_program/NamesPerDir-stdout.txt | 1 + Tests/RunCMake/find_program/NamesPerDir.cmake | 6 ++++++ 5 files changed, 27 insertions(+) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits