Merge topic 'fix-find_program-regression'

31e6571c find_program: Fix regression in finding an already-known path
This commit is contained in:
Brad King 2015-11-02 09:09:46 -05:00 committed by CMake Topic Stage
commit b7b3b675fd
5 changed files with 27 additions and 0 deletions

View File

@ -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();

View File

@ -1 +1,2 @@
-- PROG='[^']*/Tests/RunCMake/find_program/B/testB'
-- PROG_ABS='[^']*/Tests/RunCMake/find_program/A/testA'

View File

@ -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}'")

View File

@ -1 +1,2 @@
-- PROG='[^']*/Tests/RunCMake/find_program/A/testA'
-- PROG_ABS='[^']*/Tests/RunCMake/find_program/A/testA'

View File

@ -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}'")