From 702d785c9ae49015a770530a9c5f27e7bfaff716 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 23 May 2007 12:05:05 -0400 Subject: [PATCH] BUG: Add ./ to custom command executables in the top of the build tree even when the path is generated by target name replacement. --- Source/cmLocalUnixMakefileGenerator3.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx index 08289baf8..bd8949dbf 100644 --- a/Source/cmLocalUnixMakefileGenerator3.cxx +++ b/Source/cmLocalUnixMakefileGenerator3.cxx @@ -915,14 +915,17 @@ cmLocalUnixMakefileGenerator3 cmSystemTools::ReplaceString(cmd, "/./", "/"); // Convert the command to a relative path only if the current // working directory will be the start-output directory. + bool had_slash = cmd.find("/") != cmd.npos; if(!workingDir) { cmd = this->Convert(cmd.c_str(),START_OUTPUT); } - if(cmd.find("/") == cmd.npos && - commandLine[0].find("/") != cmd.npos) + bool has_slash = cmd.find("/") != cmd.npos; + if(had_slash && !has_slash) { - // Add a leading "./" for executables in the current directory. + // This command was specified as a path to a file in the + // current directory. Add a leading "./" so it can run + // without the current directory being in the search path. cmd = "./" + cmd; } cmd = this->Convert(cmd.c_str(),NONE,SHELL);