summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 08289ba..bd8949d 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);