[Cmake-commits] CMake branch, next, updated. v3.6.1-1595-g40b8e22
Brad King
brad.king at kitware.com
Tue Aug 30 09:21:21 EDT 2016
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 40b8e22e55c20d2ecf31fe51ebc22453ec28996f (commit)
via 4332131dcca03b262e0dd51352eb2e27522887c8 (commit)
via 5aca066c5bbb7263624eb140378dd2f49e9d80ec (commit)
via 146bf9267ca88831d7cff4d121f414a3a73e26de (commit)
via 58ba87f892316b9f9cbb7851a940ec808527e36a (commit)
via e80314d7a8208214ac85bf9b2e769a7e3b5aaa04 (commit)
via 563ac22a1646f1287d1baac755e13cbe33c1fe7b (commit)
via 08be47cf939c3adfe653809c46c7b23b7a912a39 (commit)
via 564d3a1dc8e19f16db6ddccca38e21d89634c1b4 (commit)
via 95a659f1801701b02528c22f0287bb57056dc627 (commit)
via a8c7ccb1839d912edc972384de6641f3c17ad8ff (commit)
via 5ad25ef4b690252a4251e8824e00b053ea61d000 (commit)
via ac46384171c54a0fb9c47c32642fbca4ff1e925b (commit)
via 998d9ee967f6795c71ff23cf16601f7e974b21ba (commit)
via ee49f006cf657fa6f1c2d112f44d762441fd5cf1 (commit)
via 51f7dcb0a55874e71e4695f5154548a41c87ad56 (commit)
via ba4ba7c39de82b805652efbb7dc5e1659c53f36b (commit)
via e804d410cd4e391cd81ff3d8981cfba1fae28742 (commit)
via 2722c4dcc55605b7946f3c9bfa4b2fe5ce4161cb (commit)
via 112c87b28afac71617bcbb552ae1f2027bb548b6 (commit)
from 50eca8d02d62159621925b248b6525df2e974892 (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=40b8e22e55c20d2ecf31fe51ebc22453ec28996f
commit 40b8e22e55c20d2ecf31fe51ebc22453ec28996f
Merge: 50eca8d 4332131
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Aug 30 09:21:18 2016 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Aug 30 09:21:18 2016 -0400
Merge topic 'cleanup-Convert' into next
4332131d Convert: Make variables a bit more clear
5aca066c Convert: Remove UNCHANGED enum value
146bf926 Convert: Remove 'FULL' conversion
58ba87f8 Convert: Replace Convert(FULL) with equivalent
e80314d7 Ninja: Replace ternary with if()
563ac22a Convert: Replace trivial conversion with new method
08be47cf Convert: Replace UNCHANGED conversions with new API call
564d3a1d Convert: Extract ConvertToRelativePath from Convert()
95a659f1 Convert: Replace FULL conversions with equivalent
a8c7ccb1 VS: Replace FULL/UNCHANGED conversion with equivalent
5ad25ef4 Convert: Remove NONE conversion
ac463841 Convert: Replace uses of Convert(NONE)
998d9ee9 VS: Replace variable with an if()
ee49f006 Makefiles: Replace ternaries with if()s
51f7dcb0 Makefiles: Inline MakeLauncher into only caller
ba4ba7c3 Makefiles: Simplify MakeLauncher return value
...
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4332131dcca03b262e0dd51352eb2e27522887c8
commit 4332131dcca03b262e0dd51352eb2e27522887c8
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:58 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:41:18 2016 +0200
Convert: Make variables a bit more clear
diff --git a/Source/cmOutputConverter.cxx b/Source/cmOutputConverter.cxx
index f056a1b..630da42 100644
--- a/Source/cmOutputConverter.cxx
+++ b/Source/cmOutputConverter.cxx
@@ -49,26 +49,26 @@ std::string cmOutputConverter::ConvertToOutputForExisting(
std::string cmOutputConverter::ConvertToRelativePath(
const std::string& source, RelativeRoot relative) const
{
- std::string result = source;
+ std::string result;
switch (relative) {
case HOME:
result = this->ConvertToRelativePath(
- this->GetState()->GetSourceDirectoryComponents(), result);
+ this->GetState()->GetSourceDirectoryComponents(), source);
break;
case START:
result = this->ConvertToRelativePath(
this->StateSnapshot.GetDirectory().GetCurrentSourceComponents(),
- result);
+ source);
break;
case HOME_OUTPUT:
result = this->ConvertToRelativePath(
- this->GetState()->GetBinaryDirectoryComponents(), result);
+ this->GetState()->GetBinaryDirectoryComponents(), source);
break;
case START_OUTPUT:
result = this->ConvertToRelativePath(
this->StateSnapshot.GetDirectory().GetCurrentBinaryComponents(),
- result);
+ source);
break;
}
return result;
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5aca066c5bbb7263624eb140378dd2f49e9d80ec
commit 5aca066c5bbb7263624eb140378dd2f49e9d80ec
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:57 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:41:17 2016 +0200
Convert: Remove UNCHANGED enum value
It is no longer used.
diff --git a/Source/cmCommonTargetGenerator.h b/Source/cmCommonTargetGenerator.h
index d3f9d64..b433c18 100644
--- a/Source/cmCommonTargetGenerator.h
+++ b/Source/cmCommonTargetGenerator.h
@@ -57,9 +57,9 @@ protected:
// The windows module definition source file (.def), if any.
cmSourceFile const* ModuleDefinitionFile;
- std::string Convert(
- std::string const& source, cmOutputConverter::RelativeRoot relative,
- cmOutputConverter::OutputFormat output = cmOutputConverter::UNCHANGED);
+ std::string Convert(std::string const& source,
+ cmOutputConverter::RelativeRoot relative,
+ cmOutputConverter::OutputFormat output);
void AppendFortranFormatFlags(std::string& flags,
cmSourceFile const& source);
diff --git a/Source/cmOutputConverter.h b/Source/cmOutputConverter.h
index c2403db..9af9659 100644
--- a/Source/cmOutputConverter.h
+++ b/Source/cmOutputConverter.h
@@ -45,7 +45,6 @@ public:
};
enum OutputFormat
{
- UNCHANGED,
MAKERULE,
SHELL,
WATCOMQUOTE,
@@ -54,7 +53,7 @@ public:
std::string ConvertToOutputFormat(const std::string& source,
OutputFormat output) const;
std::string Convert(const std::string& remote, RelativeRoot local,
- OutputFormat output = UNCHANGED) const;
+ OutputFormat output) const;
std::string ConvertToRelativePath(const std::string& remote,
RelativeRoot local) const;
std::string ConvertDirectorySeparatorsForShell(
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=146bf9267ca88831d7cff4d121f414a3a73e26de
commit 146bf9267ca88831d7cff4d121f414a3a73e26de
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:57 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:41:17 2016 +0200
Convert: Remove 'FULL' conversion
It is no longer used.
diff --git a/Source/cmOutputConverter.cxx b/Source/cmOutputConverter.cxx
index 176c9a0..f056a1b 100644
--- a/Source/cmOutputConverter.cxx
+++ b/Source/cmOutputConverter.cxx
@@ -70,9 +70,6 @@ std::string cmOutputConverter::ConvertToRelativePath(
this->StateSnapshot.GetDirectory().GetCurrentBinaryComponents(),
result);
break;
- case FULL:
- result = cmSystemTools::CollapseFullPath(result);
- break;
}
return result;
}
diff --git a/Source/cmOutputConverter.h b/Source/cmOutputConverter.h
index 71bb086..c2403db 100644
--- a/Source/cmOutputConverter.h
+++ b/Source/cmOutputConverter.h
@@ -38,7 +38,6 @@ public:
*/
enum RelativeRoot
{
- FULL,
HOME,
START,
HOME_OUTPUT,
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=58ba87f892316b9f9cbb7851a940ec808527e36a
commit 58ba87f892316b9f9cbb7851a940ec808527e36a
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:57 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:41:17 2016 +0200
Convert: Replace Convert(FULL) with equivalent
This is more explicit than funnelling everything through the Convert
method.
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index bbc794d..77fbbe9 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -723,8 +723,9 @@ void cmGlobalUnixMakefileGenerator3::WriteConvenienceRules2(
std::ostringstream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start ";
// # in target
- progCmd << lg->Convert(progress.Dir, cmOutputConverter::FULL,
- cmOutputConverter::SHELL);
+ progCmd << lg->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(progress.Dir),
+ cmOutputConverter::SHELL);
//
std::set<cmGeneratorTarget const*> emitted;
progCmd << " " << this->CountProgressMarksInTarget(gtarget, emitted);
@@ -736,8 +737,9 @@ void cmGlobalUnixMakefileGenerator3::WriteConvenienceRules2(
{
std::ostringstream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start "; // # 0
- progCmd << lg->Convert(progress.Dir, cmOutputConverter::FULL,
- cmOutputConverter::SHELL);
+ progCmd << lg->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(progress.Dir),
+ cmOutputConverter::SHELL);
progCmd << " 0";
commands.push_back(progCmd.str());
}
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 2fa3f86..de9e1e5 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -688,7 +688,9 @@ std::string cmLocalGenerator::ExpandRuleVariable(
}
}
if (variable == "CMAKE_COMMAND") {
- return this->Convert(cmSystemTools::GetCMakeCommand(), FULL, SHELL);
+ return this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(cmSystemTools::GetCMakeCommand()),
+ SHELL);
}
std::vector<std::string> enabledLanguages =
this->GetState()->GetEnabledLanguages();
@@ -1183,7 +1185,8 @@ void cmLocalGenerator::GetTargetFlags(
if (sf->GetExtension() == "def") {
linkFlags +=
this->Makefile->GetSafeDefinition("CMAKE_LINK_DEF_FILE_FLAG");
- linkFlags += this->Convert(sf->GetFullPath(), FULL, SHELL);
+ linkFlags += this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(sf->GetFullPath()), SHELL);
linkFlags += " ";
}
}
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index bbec634..d07bfaa 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -133,7 +133,8 @@ std::string cmLocalNinjaGenerator::ConvertToIncludeReference(
bool forceFullPaths)
{
if (forceFullPaths) {
- return this->Convert(path, cmOutputConverter::FULL, format);
+ return this->ConvertToOutputFormat(cmSystemTools::CollapseFullPath(path),
+ format);
}
return this->Convert(path, cmOutputConverter::HOME_OUTPUT, format);
}
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 5b83b3d..3c4841e 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -640,9 +640,9 @@ void cmLocalUnixMakefileGenerator3::WriteMakeVariables(
std::string cmakeShellCommand =
this->MaybeConvertWatcomShellCommand(cmSystemTools::GetCMakeCommand());
if (cmakeShellCommand.empty()) {
- cmakeShellCommand =
- this->Convert(cmSystemTools::GetCMakeCommand(), cmOutputConverter::FULL,
- cmOutputConverter::SHELL);
+ cmakeShellCommand = this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(cmSystemTools::GetCMakeCommand()),
+ cmOutputConverter::SHELL);
}
/* clang-format off */
@@ -665,16 +665,16 @@ void cmLocalUnixMakefileGenerator3::WriteMakeVariables(
makefileStream
<< "# The top-level source directory on which CMake was run.\n"
<< "CMAKE_SOURCE_DIR = "
- << this->Convert(this->GetSourceDirectory(),
- cmOutputConverter::FULL,
+ << this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(this->GetSourceDirectory()),
cmOutputConverter::SHELL)
<< "\n"
<< "\n";
makefileStream
<< "# The top-level build directory on which CMake was run.\n"
<< "CMAKE_BINARY_DIR = "
- << this->Convert(this->GetBinaryDirectory(),
- cmOutputConverter::FULL,
+ << this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(this->GetBinaryDirectory()),
cmOutputConverter::SHELL)
<< "\n"
<< "\n";
@@ -1154,8 +1154,9 @@ void cmLocalUnixMakefileGenerator3::AppendEcho(
cmd += color_name;
if (progress) {
cmd += "--progress-dir=";
- cmd += this->Convert(progress->Dir, cmOutputConverter::FULL,
- cmOutputConverter::SHELL);
+ cmd += this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(progress->Dir),
+ cmOutputConverter::SHELL);
cmd += " ";
cmd += "--progress-num=";
cmd += progress->Arg;
@@ -1603,15 +1604,16 @@ void cmLocalUnixMakefileGenerator3::WriteLocalAllRules(
{
std::ostringstream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start ";
- progCmd << this->Convert(progressDir, cmOutputConverter::FULL,
- cmOutputConverter::SHELL);
+ progCmd << this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(progressDir), cmOutputConverter::SHELL);
std::string progressFile = cmake::GetCMakeFilesDirectory();
progressFile += "/progress.marks";
std::string progressFileNameFull = this->ConvertToFullPath(progressFile);
progCmd << " "
- << this->Convert(progressFileNameFull, cmOutputConverter::FULL,
- cmOutputConverter::SHELL);
+ << this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(progressFileNameFull),
+ cmOutputConverter::SHELL);
commands.push_back(progCmd.str());
}
std::string mf2Dir = cmake::GetCMakeFilesDirectoryPostSlash();
@@ -1623,8 +1625,8 @@ void cmLocalUnixMakefileGenerator3::WriteLocalAllRules(
{
std::ostringstream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start "; // # 0
- progCmd << this->Convert(progressDir, cmOutputConverter::FULL,
- cmOutputConverter::SHELL);
+ progCmd << this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(progressDir), cmOutputConverter::SHELL);
progCmd << " 0";
commands.push_back(progCmd.str());
}
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 1beaa87..70fe819 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -269,8 +269,8 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule()
args += this->GetBinaryDirectory();
commandLine.push_back(args);
commandLine.push_back("--check-stamp-file");
- std::string stampFilename = this->Convert(
- stampName.c_str(), cmOutputConverter::FULL, cmOutputConverter::SHELL);
+ std::string stampFilename = this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(stampName), cmOutputConverter::SHELL);
commandLine.push_back(stampFilename.c_str());
std::vector<std::string> const& listFiles = this->Makefile->GetListFiles();
diff --git a/Source/cmLocalVisualStudioGenerator.cxx b/Source/cmLocalVisualStudioGenerator.cxx
index d1cefe3..b492962 100644
--- a/Source/cmLocalVisualStudioGenerator.cxx
+++ b/Source/cmLocalVisualStudioGenerator.cxx
@@ -155,7 +155,8 @@ std::string cmLocalVisualStudioGenerator::ConstructScript(
script += newline;
newline = newline_text;
script += "cd ";
- script += this->Convert(workingDirectory, FULL, SHELL);
+ script += this->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(workingDirectory), SHELL);
script += check_error;
// Change the working drive.
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index b34cd6e..165f96c 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -1000,9 +1000,10 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
// paths. Make sure PWD is set to the original name of the home
// output directory to help cmSystemTools to create the same
// translation table for the dependency scanning process.
- depCmd << "cd " << (this->LocalGenerator->Convert(
- this->LocalGenerator->GetBinaryDirectory(),
- cmOutputConverter::FULL, cmOutputConverter::SHELL))
+ depCmd << "cd " << (this->LocalGenerator->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(
+ this->LocalGenerator->GetBinaryDirectory()),
+ cmOutputConverter::SHELL))
<< " && ";
#endif
// Generate a call this signature:
@@ -1016,20 +1017,29 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
// the state of our local generator sufficiently for its needs.
depCmd << "$(CMAKE_COMMAND) -E cmake_depends \""
<< this->GlobalGenerator->GetName() << "\" "
- << this->Convert(this->LocalGenerator->GetSourceDirectory(),
- cmOutputConverter::FULL, cmOutputConverter::SHELL)
+ << this->LocalGenerator->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(
+ this->LocalGenerator->GetSourceDirectory()),
+ cmOutputConverter::SHELL)
<< " "
- << this->Convert(this->LocalGenerator->GetCurrentSourceDirectory(),
- cmOutputConverter::FULL, cmOutputConverter::SHELL)
+ << this->LocalGenerator->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(
+ this->LocalGenerator->GetCurrentSourceDirectory()),
+ cmOutputConverter::SHELL)
<< " "
- << this->Convert(this->LocalGenerator->GetBinaryDirectory(),
- cmOutputConverter::FULL, cmOutputConverter::SHELL)
+ << this->LocalGenerator->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(
+ this->LocalGenerator->GetBinaryDirectory()),
+ cmOutputConverter::SHELL)
<< " "
- << this->Convert(this->LocalGenerator->GetCurrentBinaryDirectory(),
- cmOutputConverter::FULL, cmOutputConverter::SHELL)
+ << this->LocalGenerator->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(
+ this->LocalGenerator->GetCurrentBinaryDirectory()),
+ cmOutputConverter::SHELL)
<< " "
- << this->Convert(this->InfoFileNameFull, cmOutputConverter::FULL,
- cmOutputConverter::SHELL);
+ << this->LocalGenerator->ConvertToOutputFormat(
+ cmSystemTools::CollapseFullPath(this->InfoFileNameFull),
+ cmOutputConverter::SHELL);
if (this->LocalGenerator->GetColorMakefile()) {
depCmd << " --color=$(COLOR)";
}
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e80314d7a8208214ac85bf9b2e769a7e3b5aaa04
commit e80314d7a8208214ac85bf9b2e769a7e3b5aaa04
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:57 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:26:38 2016 +0200
Ninja: Replace ternary with if()
On principle of segregating the interface.
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index 9e2c920..bbec634 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -132,9 +132,10 @@ std::string cmLocalNinjaGenerator::ConvertToIncludeReference(
std::string const& path, cmOutputConverter::OutputFormat format,
bool forceFullPaths)
{
- return this->Convert(path, forceFullPaths ? cmOutputConverter::FULL
- : cmOutputConverter::HOME_OUTPUT,
- format);
+ if (forceFullPaths) {
+ return this->Convert(path, cmOutputConverter::FULL, format);
+ }
+ return this->Convert(path, cmOutputConverter::HOME_OUTPUT, format);
}
// Private methods.
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=563ac22a1646f1287d1baac755e13cbe33c1fe7b
commit 563ac22a1646f1287d1baac755e13cbe33c1fe7b
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:56 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:26:37 2016 +0200
Convert: Replace trivial conversion with new method
diff --git a/Source/cmDependsC.cxx b/Source/cmDependsC.cxx
index 18e123e..928f7ec 100644
--- a/Source/cmDependsC.cxx
+++ b/Source/cmDependsC.cxx
@@ -238,8 +238,8 @@ bool cmDependsC::WriteDependencies(const std::set<std::string>& sources,
// written by the original local generator for this directory
// convert the dependencies to paths relative to the home output
// directory. We must do the same here.
- std::string obj_i =
- this->LocalGenerator->Convert(obj, cmOutputConverter::HOME_OUTPUT);
+ std::string obj_i = this->LocalGenerator->ConvertToRelativePath(
+ obj, cmOutputConverter::HOME_OUTPUT);
std::string obj_m = this->LocalGenerator->ConvertToOutputFormat(
obj_i, cmOutputConverter::MAKERULE);
internalDepends << obj_i << std::endl;
diff --git a/Source/cmDependsFortran.cxx b/Source/cmDependsFortran.cxx
index c57b558..8c0acce 100644
--- a/Source/cmDependsFortran.cxx
+++ b/Source/cmDependsFortran.cxx
@@ -193,15 +193,15 @@ bool cmDependsFortran::Finalize(std::ostream& makeDepends,
stamp += ".mod.stamp";
fcStream << "\n";
fcStream << " \""
- << this->LocalGenerator->Convert(
+ << this->LocalGenerator->ConvertToRelativePath(
mod_lower, cmOutputConverter::START_OUTPUT)
<< "\"\n";
fcStream << " \""
- << this->LocalGenerator->Convert(
+ << this->LocalGenerator->ConvertToRelativePath(
mod_upper, cmOutputConverter::START_OUTPUT)
<< "\"\n";
fcStream << " \""
- << this->LocalGenerator->Convert(
+ << this->LocalGenerator->ConvertToRelativePath(
stamp, cmOutputConverter::START_OUTPUT)
<< "\"\n";
}
@@ -317,8 +317,8 @@ bool cmDependsFortran::WriteDependenciesReal(const char* obj,
const char* src = info.Source.c_str();
// Write the include dependencies to the output stream.
- std::string obj_i =
- this->LocalGenerator->Convert(obj, cmOutputConverter::HOME_OUTPUT);
+ std::string obj_i = this->LocalGenerator->ConvertToRelativePath(
+ obj, cmOutputConverter::HOME_OUTPUT);
std::string obj_m = this->LocalGenerator->ConvertToOutputFormat(
obj_i, cmOutputConverter::MAKERULE);
internalDepends << obj_i << std::endl;
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx
index e617b08..945ee40 100644
--- a/Source/cmExtraEclipseCDT4Generator.cxx
+++ b/Source/cmExtraEclipseCDT4Generator.cxx
@@ -904,8 +904,8 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
it != this->GlobalGenerator->GetLocalGenerators().end(); ++it) {
const std::vector<cmGeneratorTarget*> targets =
(*it)->GetGeneratorTargets();
- std::string subdir = (*it)->Convert((*it)->GetCurrentBinaryDirectory(),
- cmOutputConverter::HOME_OUTPUT);
+ std::string subdir = (*it)->ConvertToRelativePath(
+ (*it)->GetCurrentBinaryDirectory(), cmOutputConverter::HOME_OUTPUT);
if (subdir == ".") {
subdir = "";
}
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 295f65b..50c5a42 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -2547,8 +2547,8 @@ void cmGlobalGenerator::AddRuleHash(const std::vector<std::string>& outputs,
// Shorten the output name (in expected use case).
cmOutputConverter converter(this->GetMakefiles()[0]->GetStateSnapshot());
- std::string fname =
- converter.Convert(outputs[0], cmOutputConverter::HOME_OUTPUT);
+ std::string fname = converter.ConvertToRelativePath(
+ outputs[0], cmOutputConverter::HOME_OUTPUT);
// Associate the hash with this output.
this->RuleHashes[fname] = hash;
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 2b83479..939c5ad 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -747,7 +747,8 @@ std::string cmGlobalNinjaGenerator::ConvertToNinjaPath(const std::string& path)
{
cmLocalNinjaGenerator* ng =
static_cast<cmLocalNinjaGenerator*>(this->LocalGenerators[0]);
- std::string convPath = ng->Convert(path, cmOutputConverter::HOME_OUTPUT);
+ std::string convPath =
+ ng->ConvertToRelativePath(path, cmOutputConverter::HOME_OUTPUT);
convPath = this->NinjaOutputPath(convPath);
#ifdef _WIN32
std::replace(convPath.begin(), convPath.end(), '/', '\\');
@@ -760,7 +761,8 @@ std::string cmGlobalNinjaGenerator::ConvertToNinjaFolderRule(
{
cmLocalNinjaGenerator* ng =
static_cast<cmLocalNinjaGenerator*>(this->LocalGenerators[0]);
- std::string convPath = ng->Convert(path + "/all", cmOutputConverter::HOME);
+ std::string convPath =
+ ng->ConvertToRelativePath(path + "/all", cmOutputConverter::HOME);
convPath = this->NinjaOutputPath(convPath);
#ifdef _WIN32
std::replace(convPath.begin(), convPath.end(), '/', '\\');
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index f115ecb..bbc794d 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -311,11 +311,14 @@ void cmGlobalUnixMakefileGenerator3::WriteMainCMakefile()
cmakefileStream
<< "# The top level Makefile was generated from the following files:\n"
<< "set(CMAKE_MAKEFILE_DEPENDS\n"
- << " \"" << lg->Convert(cache, cmOutputConverter::START_OUTPUT) << "\"\n";
+ << " \""
+ << lg->ConvertToRelativePath(cache, cmOutputConverter::START_OUTPUT)
+ << "\"\n";
for (std::vector<std::string>::const_iterator i = lfiles.begin();
i != lfiles.end(); ++i) {
cmakefileStream << " \""
- << lg->Convert(*i, cmOutputConverter::START_OUTPUT)
+ << lg->ConvertToRelativePath(
+ *i, cmOutputConverter::START_OUTPUT)
<< "\"\n";
}
cmakefileStream << " )\n\n";
@@ -329,10 +332,12 @@ void cmGlobalUnixMakefileGenerator3::WriteMainCMakefile()
cmakefileStream << "# The corresponding makefile is:\n"
<< "set(CMAKE_MAKEFILE_OUTPUTS\n"
<< " \""
- << lg->Convert(makefileName, cmOutputConverter::START_OUTPUT)
+ << lg->ConvertToRelativePath(makefileName,
+ cmOutputConverter::START_OUTPUT)
<< "\"\n"
<< " \""
- << lg->Convert(check, cmOutputConverter::START_OUTPUT)
+ << lg->ConvertToRelativePath(check,
+ cmOutputConverter::START_OUTPUT)
<< "\"\n";
cmakefileStream << " )\n\n";
@@ -345,7 +350,8 @@ void cmGlobalUnixMakefileGenerator3::WriteMainCMakefile()
for (std::vector<std::string>::const_iterator k = outfiles.begin();
k != outfiles.end(); ++k) {
cmakefileStream << " \""
- << lg->Convert(*k, cmOutputConverter::HOME_OUTPUT)
+ << lg->ConvertToRelativePath(
+ *k, cmOutputConverter::HOME_OUTPUT)
<< "\"\n";
}
@@ -358,7 +364,8 @@ void cmGlobalUnixMakefileGenerator3::WriteMainCMakefile()
tmpStr += cmake::GetCMakeFilesDirectory();
tmpStr += "/CMakeDirectoryInformation.cmake";
cmakefileStream << " \""
- << lg->Convert(tmpStr, cmOutputConverter::HOME_OUTPUT)
+ << lg->ConvertToRelativePath(
+ tmpStr, cmOutputConverter::HOME_OUTPUT)
<< "\"\n";
}
cmakefileStream << " )\n\n";
@@ -519,7 +526,7 @@ void cmGlobalUnixMakefileGenerator3::GenerateBuildCommand(
tname += "/fast";
}
cmOutputConverter conv(mf->GetStateSnapshot());
- tname = conv.Convert(tname, cmOutputConverter::HOME_OUTPUT);
+ tname = conv.ConvertToRelativePath(tname, cmOutputConverter::HOME_OUTPUT);
cmSystemTools::ConvertToOutputSlashes(tname);
makeCommand.push_back(tname);
if (this->Makefiles.empty()) {
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 0a83b3a..67ac230 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -385,7 +385,8 @@ void cmGlobalVisualStudio7Generator::WriteTargetsToSolution(
if (vcprojName) {
cmLocalGenerator* lg = target->GetLocalGenerator();
std::string dir = lg->GetCurrentBinaryDirectory();
- dir = root->Convert(dir.c_str(), cmOutputConverter::START_OUTPUT);
+ dir = root->ConvertToRelativePath(dir.c_str(),
+ cmOutputConverter::START_OUTPUT);
if (dir == ".") {
dir = ""; // msbuild cannot handle ".\" prefix
}
diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx
index 39d9e97..3c5e333 100644
--- a/Source/cmListFileCache.cxx
+++ b/Source/cmListFileCache.cxx
@@ -402,7 +402,8 @@ void cmListFileBacktrace::PrintTitle(std::ostream& out) const
cmOutputConverter converter(this->Bottom);
cmListFileContext lfc = *this->Cur;
if (!this->Bottom.GetState()->GetIsInTryCompile()) {
- lfc.FilePath = converter.Convert(lfc.FilePath, cmOutputConverter::HOME);
+ lfc.FilePath =
+ converter.ConvertToRelativePath(lfc.FilePath, cmOutputConverter::HOME);
}
out << (lfc.Line ? " at " : " in ") << lfc;
}
@@ -427,7 +428,8 @@ void cmListFileBacktrace::PrintCallStack(std::ostream& out) const
}
cmListFileContext lfc = *i;
if (!this->Bottom.GetState()->GetIsInTryCompile()) {
- lfc.FilePath = converter.Convert(lfc.FilePath, cmOutputConverter::HOME);
+ lfc.FilePath =
+ converter.ConvertToRelativePath(lfc.FilePath, cmOutputConverter::HOME);
}
out << " " << lfc << "\n";
}
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 20a1e21..2fa3f86 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -176,7 +176,7 @@ void cmLocalGenerator::GenerateTestFiles()
// TODO: Use add_subdirectory instead?
fout << "subdirs(";
std::string outP = children[i].GetDirectory().GetCurrentBinary();
- fout << this->Convert(outP, START_OUTPUT);
+ fout << this->ConvertToRelativePath(outP, START_OUTPUT);
fout << ")" << std::endl;
}
}
@@ -2237,7 +2237,8 @@ std::string cmLocalGenerator::ConstructComment(
for (std::vector<std::string>::const_iterator o = ccg.GetOutputs().begin();
o != ccg.GetOutputs().end(); ++o) {
comment += sep;
- comment += this->Convert(*o, cmOutputConverter::START_OUTPUT);
+ comment +=
+ this->ConvertToRelativePath(*o, cmOutputConverter::START_OUTPUT);
sep = ", ";
}
return comment;
@@ -2505,13 +2506,14 @@ std::string cmLocalGenerator::GetObjectFileNameWithoutTarget(
const char* fullPath = source.GetFullPath().c_str();
// Try referencing the source relative to the source tree.
- std::string relFromSource = this->Convert(fullPath, START);
+ std::string relFromSource = this->ConvertToRelativePath(fullPath, START);
assert(!relFromSource.empty());
bool relSource = !cmSystemTools::FileIsFullPath(relFromSource.c_str());
bool subSource = relSource && relFromSource[0] != '.';
// Try referencing the source relative to the binary tree.
- std::string relFromBinary = this->Convert(fullPath, START_OUTPUT);
+ std::string relFromBinary =
+ this->ConvertToRelativePath(fullPath, START_OUTPUT);
assert(!relFromBinary.empty());
bool relBinary = !cmSystemTools::FileIsFullPath(relFromBinary.c_str());
bool subBinary = relBinary && relFromBinary[0] != '.';
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index 8c092e7..9e2c920 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -41,7 +41,7 @@ void cmLocalNinjaGenerator::Generate()
{
// Compute the path to use when referencing the current output
// directory from the top output directory.
- this->HomeRelativeOutputPath = this->Convert(
+ this->HomeRelativeOutputPath = this->ConvertToRelativePath(
this->GetCurrentBinaryDirectory(), cmOutputConverter::HOME_OUTPUT);
if (this->HomeRelativeOutputPath == ".") {
this->HomeRelativeOutputPath = "";
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 33b0102..5b83b3d 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -140,7 +140,7 @@ void cmLocalUnixMakefileGenerator3::ComputeHomeRelativeOutputPath()
{
// Compute the path to use when referencing the current output
// directory from the top output directory.
- this->HomeRelativeOutputPath = this->Convert(
+ this->HomeRelativeOutputPath = this->ConvertToRelativePath(
this->GetCurrentBinaryDirectory(), cmOutputConverter::HOME_OUTPUT);
if (this->HomeRelativeOutputPath == ".") {
this->HomeRelativeOutputPath = "";
@@ -966,7 +966,8 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
// working directory will be the start-output directory.
bool had_slash = cmd.find('/') != cmd.npos;
if (workingDir.empty()) {
- cmd = this->Convert(cmd, cmOutputConverter::START_OUTPUT);
+ cmd =
+ this->ConvertToRelativePath(cmd, cmOutputConverter::START_OUTPUT);
}
bool has_slash = cmd.find('/') != cmd.npos;
if (had_slash && !has_slash) {
@@ -1851,7 +1852,8 @@ void cmLocalUnixMakefileGenerator3::WriteDependLanguageInfo(
for (std::vector<std::string>::iterator i = includes.begin();
i != includes.end(); ++i) {
cmakefileStream << " \""
- << this->Convert(*i, cmOutputConverter::HOME_OUTPUT)
+ << this->ConvertToRelativePath(
+ *i, cmOutputConverter::HOME_OUTPUT)
<< "\"\n";
}
cmakefileStream << " )\n";
@@ -1915,7 +1917,8 @@ std::string cmLocalUnixMakefileGenerator3::GetRecursiveMakeCall(
// Add the target.
if (!tgt.empty()) {
// The make target is always relative to the top of the build tree.
- std::string tgt2 = this->Convert(tgt, cmOutputConverter::HOME_OUTPUT);
+ std::string tgt2 =
+ this->ConvertToRelativePath(tgt, cmOutputConverter::HOME_OUTPUT);
// The target may have been written with windows paths.
cmSystemTools::ConvertToOutputSlashes(tgt2);
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 2d53669..b34cd6e 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -312,8 +312,10 @@ void cmMakefileTargetGenerator::MacOSXContentGeneratorType::operator()(
output += "/";
output += cmSystemTools::GetFilenameName(input);
this->Generator->CleanFiles.push_back(
- this->Generator->Convert(output, cmOutputConverter::START_OUTPUT));
- output = this->Generator->Convert(output, cmOutputConverter::HOME_OUTPUT);
+ this->Generator->LocalGenerator->ConvertToRelativePath(
+ output, cmOutputConverter::START_OUTPUT));
+ output = this->Generator->LocalGenerator->ConvertToRelativePath(
+ output, cmOutputConverter::HOME_OUTPUT);
// Create a rule to copy the content into the bundle.
std::vector<std::string> depends;
@@ -1171,7 +1173,8 @@ void cmMakefileTargetGenerator::WriteObjectsVariable(
for (std::vector<std::string>::const_iterator i =
this->ExternalObjects.begin();
i != this->ExternalObjects.end(); ++i) {
- object = this->Convert(*i, cmOutputConverter::START_OUTPUT);
+ object = this->LocalGenerator->ConvertToRelativePath(
+ *i, cmOutputConverter::START_OUTPUT);
*this->BuildFileStream << " " << lineContinue << "\n"
<< this->Makefile->GetSafeDefinition(
"CMAKE_OBJECT_NAME");
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index ed04d2f..d5274cd 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -602,7 +602,8 @@ void cmTarget::GetTllSignatureTraces(std::ostream& s, TLLSignature sig) const
it != this->TLLCommands.end(); ++it) {
if (it->first == sig) {
cmListFileContext lfc = it->second;
- lfc.FilePath = converter.Convert(lfc.FilePath, cmOutputConverter::HOME);
+ lfc.FilePath =
+ converter.ConvertToRelativePath(lfc.FilePath, cmOutputConverter::HOME);
s << " * " << lfc << std::endl;
}
}
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=08be47cf939c3adfe653809c46c7b23b7a912a39
commit 08be47cf939c3adfe653809c46c7b23b7a912a39
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:56 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:26:37 2016 +0200
Convert: Replace UNCHANGED conversions with new API call
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 756db2e..33b0102 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1076,8 +1076,8 @@ void cmLocalUnixMakefileGenerator3::AppendCleanCommand(
fout << "file(REMOVE_RECURSE\n";
for (std::vector<std::string>::const_iterator f = files.begin();
f != files.end(); ++f) {
- std::string fc = this->Convert(*f, cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED);
+ std::string fc =
+ this->ConvertToRelativePath(*f, cmOutputConverter::START_OUTPUT);
fout << " " << cmOutputConverter::EscapeForCMake(fc) << "\n";
}
fout << ")\n";
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 497defb..1beaa87 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -788,8 +788,8 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(
target->GetProperty("Fortran_MODULE_DIRECTORY");
std::string modDir;
if (target_mod_dir) {
- modDir = this->Convert(target_mod_dir, cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED);
+ modDir = this->ConvertToRelativePath(target_mod_dir,
+ cmOutputConverter::START_OUTPUT);
} else {
modDir = ".";
}
@@ -1300,9 +1300,8 @@ void cmLocalVisualStudio7GeneratorInternals::OutputLibraries(
cmLocalVisualStudio7Generator* lg = this->LocalGenerator;
for (ItemVector::const_iterator l = libs.begin(); l != libs.end(); ++l) {
if (l->IsPath) {
- std::string rel =
- lg->Convert(l->Value.c_str(), cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED);
+ std::string rel = lg->ConvertToRelativePath(
+ l->Value.c_str(), cmOutputConverter::START_OUTPUT);
fout << lg->ConvertToXMLOutputPath(rel.c_str()) << " ";
} else if (!l->Target ||
l->Target->GetType() != cmState::INTERFACE_LIBRARY) {
@@ -1322,8 +1321,8 @@ void cmLocalVisualStudio7GeneratorInternals::OutputObjects(
const char* sep = isep ? isep : "";
for (std::vector<std::string>::const_iterator oi = objs.begin();
oi != objs.end(); ++oi) {
- std::string rel = lg->Convert(oi->c_str(), cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED);
+ std::string rel =
+ lg->ConvertToRelativePath(oi->c_str(), cmOutputConverter::START_OUTPUT);
fout << sep << lg->ConvertToXMLOutputPath(rel.c_str());
sep = " ";
}
@@ -1346,9 +1345,8 @@ void cmLocalVisualStudio7Generator::OutputLibraryDirectories(
// Switch to a relative path specification if it is shorter.
if (cmSystemTools::FileIsFullPath(dir.c_str())) {
- std::string rel =
- this->Convert(dir.c_str(), cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED);
+ std::string rel = this->ConvertToRelativePath(
+ dir.c_str(), cmOutputConverter::START_OUTPUT);
if (rel.size() < dir.size()) {
dir = rel;
}
diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx
index a14df79..66e1ca2 100644
--- a/Source/cmMakefileExecutableTargetGenerator.cxx
+++ b/Source/cmMakefileExecutableTargetGenerator.cxx
@@ -218,40 +218,34 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
// Construct a list of files associated with this executable that
// may need to be cleaned.
std::vector<std::string> exeCleanFiles;
- exeCleanFiles.push_back(this->Convert(targetFullPath,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ exeCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPath, cmOutputConverter::START_OUTPUT));
#ifdef _WIN32
// There may be a manifest file for this target. Add it to the
// clean set just in case.
- exeCleanFiles.push_back(this->Convert((targetFullPath + ".manifest").c_str(),
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ exeCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ (targetFullPath + ".manifest").c_str(), cmOutputConverter::START_OUTPUT));
#endif
if (targetNameReal != targetName) {
- exeCleanFiles.push_back(this->Convert(targetFullPathReal,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ exeCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPathReal, cmOutputConverter::START_OUTPUT));
}
if (!targetNameImport.empty()) {
- exeCleanFiles.push_back(this->Convert(targetFullPathImport,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ exeCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPathImport, cmOutputConverter::START_OUTPUT));
std::string implib;
if (this->GeneratorTarget->GetImplibGNUtoMS(targetFullPathImport,
implib)) {
- exeCleanFiles.push_back(this->Convert(implib,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ exeCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ implib, cmOutputConverter::START_OUTPUT));
}
}
// List the PDB for cleaning only when the whole target is
// cleaned. We do not want to delete the .pdb file just before
// linking the target.
- this->CleanFiles.push_back(this->Convert(targetFullPathPDB,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ this->CleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPathPDB, cmOutputConverter::START_OUTPUT));
// Add the pre-build and pre-link rules building but not when relinking.
if (!relink) {
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx
index c8ee05f..c31c469 100644
--- a/Source/cmMakefileLibraryTargetGenerator.cxx
+++ b/Source/cmMakefileLibraryTargetGenerator.cxx
@@ -367,46 +367,40 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules(
// Clean files associated with this library.
std::vector<std::string> libCleanFiles;
- libCleanFiles.push_back(this->Convert(targetFullPath,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ libCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPath, cmOutputConverter::START_OUTPUT));
if (targetNameReal != targetName) {
- libCleanFiles.push_back(this->Convert(targetFullPathReal,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ libCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPathReal, cmOutputConverter::START_OUTPUT));
}
if (targetNameSO != targetName && targetNameSO != targetNameReal) {
- libCleanFiles.push_back(this->Convert(targetFullPathSO,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ libCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPathSO, cmOutputConverter::START_OUTPUT));
}
if (!targetNameImport.empty()) {
- libCleanFiles.push_back(this->Convert(targetFullPathImport,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ libCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPathImport, cmOutputConverter::START_OUTPUT));
std::string implib;
if (this->GeneratorTarget->GetImplibGNUtoMS(targetFullPathImport,
implib)) {
- libCleanFiles.push_back(this->Convert(implib,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ libCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ implib, cmOutputConverter::START_OUTPUT));
}
}
// List the PDB for cleaning only when the whole target is
// cleaned. We do not want to delete the .pdb file just before
// linking the target.
- this->CleanFiles.push_back(this->Convert(targetFullPathPDB,
- cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ this->CleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ targetFullPathPDB, cmOutputConverter::START_OUTPUT));
#ifdef _WIN32
// There may be a manifest file for this target. Add it to the
// clean set just in case.
if (this->GeneratorTarget->GetType() != cmState::STATIC_LIBRARY) {
- libCleanFiles.push_back(this->Convert(
- (targetFullPath + ".manifest").c_str(), cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED));
+ libCleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ (targetFullPath + ".manifest").c_str(),
+ cmOutputConverter::START_OUTPUT));
}
#endif
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index dd4333d..2d53669 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -172,8 +172,8 @@ void cmMakefileTargetGenerator::WriteTargetBuildRules()
const std::vector<std::string>& outputs = ccg.GetOutputs();
for (std::vector<std::string>::const_iterator o = outputs.begin();
o != outputs.end(); ++o) {
- this->CleanFiles.push_back(this->Convert(
- *o, cmOutputConverter::START_OUTPUT, cmOutputConverter::UNCHANGED));
+ this->CleanFiles.push_back(this->LocalGenerator->ConvertToRelativePath(
+ *o, cmOutputConverter::START_OUTPUT));
}
}
}
@@ -1258,9 +1258,8 @@ void cmMakefileTargetGenerator::WriteTargetDriverRule(
this->LocalGenerator->GetRelativeTargetDirectory(this->GeneratorTarget);
std::string buildTargetRuleName = dir;
buildTargetRuleName += relink ? "/preinstall" : "/build";
- buildTargetRuleName =
- this->Convert(buildTargetRuleName, cmOutputConverter::HOME_OUTPUT,
- cmOutputConverter::UNCHANGED);
+ buildTargetRuleName = this->LocalGenerator->ConvertToRelativePath(
+ buildTargetRuleName, cmOutputConverter::HOME_OUTPUT);
// Build the list of target outputs to drive.
std::vector<std::string> depends;
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 1b1d04b..216de03 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2416,9 +2416,8 @@ void cmVisualStudio10TargetGenerator::AddLibraries(
ItemVector libs = cli.GetItems();
for (ItemVector::const_iterator l = libs.begin(); l != libs.end(); ++l) {
if (l->IsPath) {
- std::string path = this->LocalGenerator->Convert(
- l->Value.c_str(), cmOutputConverter::START_OUTPUT,
- cmOutputConverter::UNCHANGED);
+ std::string path = this->LocalGenerator->ConvertToRelativePath(
+ l->Value.c_str(), cmOutputConverter::START_OUTPUT);
this->ConvertToWindowsSlash(path);
libVec.push_back(path);
} else if (!l->Target ||
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=564d3a1dc8e19f16db6ddccca38e21d89634c1b4
commit 564d3a1dc8e19f16db6ddccca38e21d89634c1b4
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:56 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:26:37 2016 +0200
Convert: Extract ConvertToRelativePath from Convert()
Convert() does some kind of relative conversion, followed by a
conversion to 'output format'.
Make it possible to do the former without the latter.
diff --git a/Source/cmOutputConverter.cxx b/Source/cmOutputConverter.cxx
index 80fa4bf..176c9a0 100644
--- a/Source/cmOutputConverter.cxx
+++ b/Source/cmOutputConverter.cxx
@@ -46,11 +46,9 @@ std::string cmOutputConverter::ConvertToOutputForExisting(
return this->ConvertToOutputFormat(remote, format);
}
-std::string cmOutputConverter::Convert(const std::string& source,
- RelativeRoot relative,
- OutputFormat output) const
+std::string cmOutputConverter::ConvertToRelativePath(
+ const std::string& source, RelativeRoot relative) const
{
- // Convert the path to a relative path.
std::string result = source;
switch (relative) {
@@ -76,6 +74,15 @@ std::string cmOutputConverter::Convert(const std::string& source,
result = cmSystemTools::CollapseFullPath(result);
break;
}
+ return result;
+}
+
+std::string cmOutputConverter::Convert(const std::string& source,
+ RelativeRoot relative,
+ OutputFormat output) const
+{
+ // Convert the path to a relative path.
+ std::string result = this->ConvertToRelativePath(source, relative);
return this->ConvertToOutputFormat(result, output);
}
diff --git a/Source/cmOutputConverter.h b/Source/cmOutputConverter.h
index 0f4884e..71bb086 100644
--- a/Source/cmOutputConverter.h
+++ b/Source/cmOutputConverter.h
@@ -56,6 +56,8 @@ public:
OutputFormat output) const;
std::string Convert(const std::string& remote, RelativeRoot local,
OutputFormat output = UNCHANGED) const;
+ std::string ConvertToRelativePath(const std::string& remote,
+ RelativeRoot local) const;
std::string ConvertDirectorySeparatorsForShell(
const std::string& source) const;
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=95a659f1801701b02528c22f0287bb57056dc627
commit 95a659f1801701b02528c22f0287bb57056dc627
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:55 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:26:37 2016 +0200
Convert: Replace FULL conversions with equivalent
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 2e08417..756db2e 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1067,8 +1067,7 @@ void cmLocalUnixMakefileGenerator3::AppendCleanCommand(
cleanfile += filename;
}
cleanfile += ".cmake";
- std::string cleanfilePath =
- this->Convert(cleanfile, cmOutputConverter::FULL);
+ std::string cleanfilePath = cmSystemTools::CollapseFullPath(cleanfile);
cmsys::ofstream fout(cleanfilePath.c_str());
if (!fout) {
cmSystemTools::Error("Could not create ", cleanfilePath.c_str());
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 7747aa7..dd4333d 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -393,9 +393,9 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(
std::string objFullPath = this->LocalGenerator->GetCurrentBinaryDirectory();
objFullPath += "/";
objFullPath += obj;
- objFullPath = this->Convert(objFullPath, cmOutputConverter::FULL);
+ objFullPath = cmSystemTools::CollapseFullPath(objFullPath);
std::string srcFullPath =
- this->Convert(source.GetFullPath(), cmOutputConverter::FULL);
+ cmSystemTools::CollapseFullPath(source.GetFullPath());
this->LocalGenerator->AddImplicitDepends(
this->GeneratorTarget, lang, objFullPath.c_str(), srcFullPath.c_str());
}
@@ -584,9 +584,8 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
lang_can_export_cmds && compileCommands.size() == 1) {
std::string compileCommand = compileCommands[0];
this->LocalGenerator->ExpandRuleVariables(compileCommand, vars);
- std::string workingDirectory = this->LocalGenerator->Convert(
- this->LocalGenerator->GetCurrentBinaryDirectory(),
- cmOutputConverter::FULL);
+ std::string workingDirectory = cmSystemTools::CollapseFullPath(
+ this->LocalGenerator->GetCurrentBinaryDirectory());
compileCommand.replace(compileCommand.find(langFlags), langFlags.size(),
this->GetFlags(lang));
std::string langDefines = std::string("$(") + lang + "_DEFINES)";
@@ -1115,10 +1114,8 @@ void cmMakefileTargetGenerator::GenerateCustomRuleFile(
for (cmCustomCommand::ImplicitDependsList::const_iterator idi =
ccg.GetCC().GetImplicitDepends().begin();
idi != ccg.GetCC().GetImplicitDepends().end(); ++idi) {
- std::string objFullPath =
- this->Convert(outputs[0], cmOutputConverter::FULL);
- std::string srcFullPath =
- this->Convert(idi->second, cmOutputConverter::FULL);
+ std::string objFullPath = cmSystemTools::CollapseFullPath(outputs[0]);
+ std::string srcFullPath = cmSystemTools::CollapseFullPath(idi->second);
this->LocalGenerator->AddImplicitDepends(this->GeneratorTarget, idi->first,
objFullPath.c_str(),
srcFullPath.c_str());
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a8c7ccb1839d912edc972384de6641f3c17ad8ff
commit a8c7ccb1839d912edc972384de6641f3c17ad8ff
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:55 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:26:37 2016 +0200
VS: Replace FULL/UNCHANGED conversion with equivalent
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index e72abe9..497defb 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -278,8 +278,8 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule()
cmCustomCommandLines commandLines;
commandLines.push_back(commandLine);
const char* no_working_directory = 0;
- std::string fullpathStampName = this->Convert(
- stampName.c_str(), cmOutputConverter::FULL, cmOutputConverter::UNCHANGED);
+ std::string fullpathStampName =
+ cmSystemTools::CollapseFullPath(stampName.c_str());
this->Makefile->AddCustomCommandToOutput(
fullpathStampName.c_str(), listFiles, makefileIn.c_str(), commandLines,
comment.c_str(), no_working_directory, true);
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5ad25ef4b690252a4251e8824e00b053ea61d000
commit 5ad25ef4b690252a4251e8824e00b053ea61d000
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:55 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:26:37 2016 +0200
Convert: Remove NONE conversion
It is no longer used.
diff --git a/Source/cmOutputConverter.cxx b/Source/cmOutputConverter.cxx
index 98872d6..80fa4bf 100644
--- a/Source/cmOutputConverter.cxx
+++ b/Source/cmOutputConverter.cxx
@@ -75,8 +75,6 @@ std::string cmOutputConverter::Convert(const std::string& source,
case FULL:
result = cmSystemTools::CollapseFullPath(result);
break;
- case NONE:
- break;
}
return this->ConvertToOutputFormat(result, output);
}
diff --git a/Source/cmOutputConverter.h b/Source/cmOutputConverter.h
index ff06ab6..0f4884e 100644
--- a/Source/cmOutputConverter.h
+++ b/Source/cmOutputConverter.h
@@ -38,7 +38,6 @@ public:
*/
enum RelativeRoot
{
- NONE,
FULL,
HOME,
START,
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ac46384171c54a0fb9c47c32642fbca4ff1e925b
commit ac46384171c54a0fb9c47c32642fbca4ff1e925b
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:55 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:26:36 2016 +0200
Convert: Replace uses of Convert(NONE)
These are equivalent to ConvertToOutputFormat.
diff --git a/Source/cmLocalCommonGenerator.cxx b/Source/cmLocalCommonGenerator.cxx
index 5502296..1383421 100644
--- a/Source/cmLocalCommonGenerator.cxx
+++ b/Source/cmLocalCommonGenerator.cxx
@@ -74,8 +74,7 @@ std::string cmLocalCommonGenerator::GetTargetFortranFlags(
for (std::vector<std::string>::const_iterator idi = includes.begin();
idi != includes.end(); ++idi) {
std::string flg = modpath_flag;
- flg +=
- this->Convert(*idi, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ flg += this->ConvertToOutputFormat(*idi, cmOutputConverter::SHELL);
this->AppendFlags(flags, flg);
}
}
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index d8f6bdf..20a1e21 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1393,7 +1393,7 @@ std::string cmLocalGenerator::ConvertToLinkReference(std::string const& lib,
sp += lib.substr(pos);
// Convert to an output path.
- return this->Convert(sp.c_str(), NONE, format);
+ return this->ConvertToOutputFormat(sp.c_str(), format);
}
}
}
@@ -1489,7 +1489,7 @@ void cmLocalGenerator::OutputLinkLibraries(std::string& linkLibraries,
for (std::vector<std::string>::const_iterator fdi = fwDirs.begin();
fdi != fwDirs.end(); ++fdi) {
frameworkPath += fwSearchFlag;
- frameworkPath += this->Convert(*fdi, NONE, shellFormat);
+ frameworkPath += this->ConvertToOutputFormat(*fdi, shellFormat);
frameworkPath += " ";
}
}
@@ -1535,7 +1535,7 @@ void cmLocalGenerator::OutputLinkLibraries(std::string& linkLibraries,
for (std::vector<std::string>::iterator ri = runtimeDirs.begin();
ri != runtimeDirs.end(); ++ri) {
rpath += cli.GetRuntimeFlag();
- rpath += this->Convert(*ri, NONE, shellFormat);
+ rpath += this->ConvertToOutputFormat(*ri, shellFormat);
rpath += " ";
}
fout << rpath;
@@ -1605,7 +1605,7 @@ void cmLocalGenerator::AddArchitectureFlags(std::string& flags,
flags += " ";
flags += sysrootFlag;
flags += " ";
- flags += this->Convert(sysroot, NONE, SHELL);
+ flags += this->ConvertToOutputFormat(sysroot, SHELL);
}
if (deploymentTargetFlag && *deploymentTargetFlag && deploymentTarget &&
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index 58c336d..8c092e7 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -490,8 +490,8 @@ std::string cmLocalNinjaGenerator::MakeCustomLauncher(
output = this->Convert(outputs[0], cmOutputConverter::START_OUTPUT,
cmOutputConverter::SHELL);
} else {
- output = this->Convert(outputs[0], cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ output =
+ this->ConvertToOutputFormat(outputs[0], cmOutputConverter::SHELL);
}
}
vars.Output = output.c_str();
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 917d8d5..2e08417 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -602,8 +602,7 @@ std::string cmLocalUnixMakefileGenerator3::MaybeConvertWatcomShellCommand(
// lines with shell redirection operators.
std::string scmd;
if (cmSystemTools::GetShortPath(cmd, scmd)) {
- return this->Convert(scmd, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ return this->ConvertToOutputFormat(scmd, cmOutputConverter::SHELL);
}
}
return std::string();
@@ -790,8 +789,8 @@ void cmLocalUnixMakefileGenerator3::WriteSpecialTargetsBottom(
std::string runRule =
"$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)";
runRule += " --check-build-system ";
- runRule += this->Convert(cmakefileName, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ runRule +=
+ this->ConvertToOutputFormat(cmakefileName, cmOutputConverter::SHELL);
runRule += " 0";
std::vector<std::string> no_depends;
@@ -995,8 +994,8 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
cmOutputConverter::SHELL);
} else {
- output = this->Convert(outputs[0], cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ output = this->ConvertToOutputFormat(outputs[0],
+ cmOutputConverter::SHELL);
}
}
vars.Output = output.c_str();
@@ -1009,8 +1008,8 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
std::string shellCommand = this->MaybeConvertWatcomShellCommand(cmd);
if (shellCommand.empty()) {
- shellCommand = this->Convert(cmd, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ shellCommand =
+ this->ConvertToOutputFormat(cmd, cmOutputConverter::SHELL);
}
cmd = launcher + shellCommand;
@@ -1681,8 +1680,8 @@ void cmLocalUnixMakefileGenerator3::WriteLocalAllRules(
std::string runRule =
"$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)";
runRule += " --check-build-system ";
- runRule += this->Convert(cmakefileName, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ runRule +=
+ this->ConvertToOutputFormat(cmakefileName, cmOutputConverter::SHELL);
runRule += " 1";
commands.push_back(runRule);
this->CreateCDCommand(commands, this->GetBinaryDirectory(),
@@ -1895,8 +1894,7 @@ std::string cmLocalUnixMakefileGenerator3::GetRecursiveMakeCall(
// Call make on the given file.
std::string cmd;
cmd += "$(MAKE) -f ";
- cmd +=
- this->Convert(makefile, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ cmd += this->ConvertToOutputFormat(makefile, cmOutputConverter::SHELL);
cmd += " ";
cmGlobalUnixMakefileGenerator3* gg =
diff --git a/Source/cmLocalVisualStudioGenerator.cxx b/Source/cmLocalVisualStudioGenerator.cxx
index ca006b7..d1cefe3 100644
--- a/Source/cmLocalVisualStudioGenerator.cxx
+++ b/Source/cmLocalVisualStudioGenerator.cxx
@@ -205,7 +205,7 @@ std::string cmLocalVisualStudioGenerator::ConstructScript(
if (workingDirectory.empty()) {
script += this->Convert(cmd.c_str(), START_OUTPUT, SHELL);
} else {
- script += this->Convert(cmd.c_str(), NONE, SHELL);
+ script += this->ConvertToOutputFormat(cmd.c_str(), SHELL);
}
ccg.AppendArguments(c, script);
diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx
index 74bfedc..a14df79 100644
--- a/Source/cmMakefileExecutableTargetGenerator.cxx
+++ b/Source/cmMakefileExecutableTargetGenerator.cxx
@@ -135,8 +135,8 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
std::string targetFullPathReal = outpath + targetNameReal;
std::string targetFullPathPDB = pdbOutputPath + targetNamePDB;
std::string targetFullPathImport = outpathImp + targetNameImport;
- std::string targetOutPathPDB = this->Convert(
- targetFullPathPDB, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ std::string targetOutPathPDB = this->LocalGenerator->ConvertToOutputFormat(
+ targetFullPathPDB, cmOutputConverter::SHELL);
// Convert to the output path to use in constructing commands.
std::string targetOutPath = this->Convert(
targetFullPath, cmOutputConverter::START_OUTPUT, cmOutputConverter::SHELL);
@@ -357,9 +357,8 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
vars.Manifests = manifests.c_str();
if (this->GeneratorTarget->GetProperty("LINK_WHAT_YOU_USE")) {
- std::string cmakeCommand =
- this->Convert(cmSystemTools::GetCMakeCommand(), cmLocalGenerator::NONE,
- cmLocalGenerator::SHELL);
+ std::string cmakeCommand = this->LocalGenerator->ConvertToOutputFormat(
+ cmSystemTools::GetCMakeCommand(), cmLocalGenerator::SHELL);
cmakeCommand += " -E __run_iwyu --lwyu=";
cmakeCommand += targetOutPathReal;
real_link_commands.push_back(cmakeCommand);
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx
index 6727bd0..c8ee05f 100644
--- a/Source/cmMakefileLibraryTargetGenerator.cxx
+++ b/Source/cmMakefileLibraryTargetGenerator.cxx
@@ -310,8 +310,8 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules(
// Construct the output path version of the names for use in command
// arguments.
- std::string targetOutPathPDB = this->Convert(
- targetFullPathPDB, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ std::string targetOutPathPDB = this->LocalGenerator->ConvertToOutputFormat(
+ targetFullPathPDB, cmOutputConverter::SHELL);
std::string targetOutPath = this->Convert(
targetFullPath, cmOutputConverter::START_OUTPUT, cmOutputConverter::SHELL);
std::string targetOutPathSO =
@@ -572,8 +572,8 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules(
vars.TargetInstallNameDir = "";
} else {
// Convert to a path for the native build tool.
- install_name_dir = this->LocalGenerator->Convert(
- install_name_dir, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ install_name_dir = this->LocalGenerator->ConvertToOutputFormat(
+ install_name_dir, cmOutputConverter::SHELL);
vars.TargetInstallNameDir = install_name_dir.c_str();
}
}
@@ -640,9 +640,8 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules(
cmSystemTools::ExpandListArgument(linkRule, real_link_commands);
if (this->GeneratorTarget->GetProperty("LINK_WHAT_YOU_USE") &&
(this->GeneratorTarget->GetType() == cmState::SHARED_LIBRARY)) {
- std::string cmakeCommand =
- this->Convert(cmSystemTools::GetCMakeCommand(),
- cmLocalGenerator::NONE, cmLocalGenerator::SHELL);
+ std::string cmakeCommand = this->LocalGenerator->ConvertToOutputFormat(
+ cmSystemTools::GetCMakeCommand(), cmLocalGenerator::SHELL);
cmakeCommand += " -E __run_iwyu --lwyu=";
cmakeCommand += targetOutPathReal;
real_link_commands.push_back(cmakeCommand);
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 5bba29c..7747aa7 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -324,11 +324,11 @@ void cmMakefileTargetGenerator::MacOSXContentGeneratorType::operator()(
this->Generator->LocalGenerator->AppendEcho(
commands, copyEcho, cmLocalUnixMakefileGenerator3::EchoBuild);
std::string copyCommand = "$(CMAKE_COMMAND) -E copy ";
- copyCommand += this->Generator->Convert(input, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ copyCommand += this->Generator->LocalGenerator->ConvertToOutputFormat(
+ input, cmOutputConverter::SHELL);
copyCommand += " ";
- copyCommand += this->Generator->Convert(output, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ copyCommand += this->Generator->LocalGenerator->ConvertToOutputFormat(
+ output, cmOutputConverter::SHELL);
commands.push_back(copyCommand);
this->Generator->LocalGenerator->WriteMakeRule(
*this->Generator->BuildFileStream, CM_NULLPTR, output, depends, commands,
@@ -464,8 +464,8 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
}
// Get the output paths for source and object files.
- std::string sourceFile = this->Convert(
- source.GetFullPath(), cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ std::string sourceFile = this->LocalGenerator->ConvertToOutputFormat(
+ source.GetFullPath(), cmOutputConverter::SHELL);
// Construct the build message.
std::vector<std::string> no_commands;
@@ -516,8 +516,8 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
targetOutPathReal =
this->Convert(targetFullPathReal, cmOutputConverter::START_OUTPUT,
cmOutputConverter::SHELL);
- targetOutPathPDB = this->Convert(
- targetFullPathPDB, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ targetOutPathPDB = this->LocalGenerator->ConvertToOutputFormat(
+ targetFullPathPDB, cmOutputConverter::SHELL);
targetOutPathCompilePDB =
this->Convert(targetFullPathCompilePDB, cmOutputConverter::START_OUTPUT,
cmOutputConverter::SHELL);
@@ -539,7 +539,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
vars.TargetCompilePDB = targetOutPathCompilePDB.c_str();
vars.Source = sourceFile.c_str();
std::string shellObj =
- this->Convert(obj, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ this->LocalGenerator->ConvertToOutputFormat(obj, cmOutputConverter::SHELL);
vars.Object = shellObj.c_str();
std::string objectDir = this->GeneratorTarget->GetSupportDirectory();
objectDir = this->Convert(objectDir, cmOutputConverter::START_OUTPUT,
@@ -699,8 +699,8 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
std::vector<std::string> preprocessCommands;
cmSystemTools::ExpandListArgument(preprocessRule, preprocessCommands);
- std::string shellObjI = this->Convert(objI, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ std::string shellObjI = this->LocalGenerator->ConvertToOutputFormat(
+ objI, cmOutputConverter::SHELL);
vars.PreprocessedSource = shellObjI.c_str();
// Expand placeholders in the commands.
@@ -746,8 +746,8 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
std::vector<std::string> assemblyCommands;
cmSystemTools::ExpandListArgument(assemblyRule, assemblyCommands);
- std::string shellObjS = this->Convert(objS, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ std::string shellObjS = this->LocalGenerator->ConvertToOutputFormat(
+ objS, cmOutputConverter::SHELL);
vars.AssemblySource = shellObjS.c_str();
// Expand placeholders in the commands.
@@ -1576,8 +1576,8 @@ void cmMakefileTargetGenerator::CreateLinkLibs(
// Reference the response file.
linkLibs = responseFlag;
- linkLibs += this->Convert(link_rsp, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ linkLibs += this->LocalGenerator->ConvertToOutputFormat(
+ link_rsp, cmOutputConverter::SHELL);
}
}
@@ -1625,8 +1625,8 @@ void cmMakefileTargetGenerator::CreateObjectLists(
// Reference the response file.
buildObjs += responseFlag;
- buildObjs += this->Convert(objects_rsp, cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ buildObjs += this->LocalGenerator->ConvertToOutputFormat(
+ objects_rsp, cmOutputConverter::SHELL);
}
} else if (useLinkScript) {
if (!useArchiveRules) {
@@ -1683,8 +1683,8 @@ void cmMakefileTargetGenerator::GenDefFile(
name_of_def_file += std::string("/") + this->GeneratorTarget->GetName();
name_of_def_file += ".def";
std::string cmd = cmSystemTools::GetCMakeCommand();
- cmd =
- this->Convert(cmd, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ cmd = this->LocalGenerator->ConvertToOutputFormat(
+ cmd, cmOutputConverter::SHELL);
cmd += " -E __create_def ";
cmd += this->Convert(name_of_def_file, cmOutputConverter::START_OUTPUT,
cmOutputConverter::SHELL);
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index d0db133..335b552 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -543,8 +543,8 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
std::string install_dir =
this->GetGeneratorTarget()->GetInstallNameDirForBuildTree(cfgName);
if (!install_dir.empty()) {
- vars["INSTALLNAME_DIR"] = localGen.Convert(
- install_dir, cmOutputConverter::NONE, cmOutputConverter::SHELL);
+ vars["INSTALLNAME_DIR"] = localGen.ConvertToOutputFormat(
+ install_dir, cmOutputConverter::SHELL);
}
}
}
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=998d9ee967f6795c71ff23cf16601f7e974b21ba
commit 998d9ee967f6795c71ff23cf16601f7e974b21ba
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:54 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:21:24 2016 +0200
VS: Replace variable with an if()
diff --git a/Source/cmLocalVisualStudioGenerator.cxx b/Source/cmLocalVisualStudioGenerator.cxx
index bdb1c2b..ca006b7 100644
--- a/Source/cmLocalVisualStudioGenerator.cxx
+++ b/Source/cmLocalVisualStudioGenerator.cxx
@@ -127,7 +127,6 @@ std::string cmLocalVisualStudioGenerator::ConstructScript(
{
bool useLocal = this->CustomCommandUseLocal();
std::string workingDirectory = ccg.GetWorkingDirectory();
- RelativeRoot relativeRoot = workingDirectory.empty() ? START_OUTPUT : NONE;
// Avoid leading or trailing newlines.
std::string newline = "";
@@ -203,7 +202,11 @@ std::string cmLocalVisualStudioGenerator::ConstructScript(
}
}
- script += this->Convert(cmd.c_str(), relativeRoot, SHELL);
+ if (workingDirectory.empty()) {
+ script += this->Convert(cmd.c_str(), START_OUTPUT, SHELL);
+ } else {
+ script += this->Convert(cmd.c_str(), NONE, SHELL);
+ }
ccg.AppendArguments(c, script);
// After each custom command, check for an error result.
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ee49f006cf657fa6f1c2d112f44d762441fd5cf1
commit ee49f006cf657fa6f1c2d112f44d762441fd5cf1
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:54 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:21:24 2016 +0200
Makefiles: Replace ternaries with if()s
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index 46d7e18..58c336d 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -486,12 +486,13 @@ std::string cmLocalNinjaGenerator::MakeCustomLauncher(
std::string output;
const std::vector<std::string>& outputs = ccg.GetOutputs();
if (!outputs.empty()) {
- cmOutputConverter::RelativeRoot relative_root =
- ccg.GetWorkingDirectory().empty() ? cmOutputConverter::START_OUTPUT
- : cmOutputConverter::NONE;
-
- output =
- this->Convert(outputs[0], relative_root, cmOutputConverter::SHELL);
+ if (ccg.GetWorkingDirectory().empty()) {
+ output = this->Convert(outputs[0], cmOutputConverter::START_OUTPUT,
+ cmOutputConverter::SHELL);
+ } else {
+ output = this->Convert(outputs[0], cmOutputConverter::NONE,
+ cmOutputConverter::SHELL);
+ }
}
vars.Output = output.c_str();
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 53c9aa1..917d8d5 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -990,10 +990,14 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
std::string output;
const std::vector<std::string>& outputs = ccg.GetOutputs();
if (!outputs.empty()) {
- output = this->Convert(outputs[0], workingDir.empty()
- ? cmOutputConverter::START_OUTPUT
- : cmOutputConverter::NONE,
- cmOutputConverter::SHELL);
+ if (workingDir.empty()) {
+ output = this->Convert(outputs[0], cmOutputConverter::START_OUTPUT,
+ cmOutputConverter::SHELL);
+
+ } else {
+ output = this->Convert(outputs[0], cmOutputConverter::NONE,
+ cmOutputConverter::SHELL);
+ }
}
vars.Output = output.c_str();
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=51f7dcb0a55874e71e4695f5154548a41c87ad56
commit 51f7dcb0a55874e71e4695f5154548a41c87ad56
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:54 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:21:24 2016 +0200
Makefiles: Inline MakeLauncher into only caller
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 53c2ff6..53c9aa1 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -976,9 +976,33 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
// without the current directory being in the search path.
cmd = "./" + cmd;
}
- std::string launcher = this->MakeLauncher(
- ccg, target, workingDir.empty() ? cmOutputConverter::START_OUTPUT
- : cmOutputConverter::NONE);
+
+ std::string launcher;
+ // Short-circuit if there is no launcher.
+ const char* prop = "RULE_LAUNCH_CUSTOM";
+ const char* val = this->GetRuleLauncher(target, prop);
+ if (val && *val) {
+ // Expand rules in the empty string. It may insert the launcher and
+ // perform replacements.
+ RuleVariables vars;
+ vars.RuleLauncher = prop;
+ vars.CMTarget = target;
+ std::string output;
+ const std::vector<std::string>& outputs = ccg.GetOutputs();
+ if (!outputs.empty()) {
+ output = this->Convert(outputs[0], workingDir.empty()
+ ? cmOutputConverter::START_OUTPUT
+ : cmOutputConverter::NONE,
+ cmOutputConverter::SHELL);
+ }
+ vars.Output = output.c_str();
+
+ this->ExpandRuleVariables(launcher, vars);
+ if (!launcher.empty()) {
+ launcher += " ";
+ }
+ }
+
std::string shellCommand = this->MaybeConvertWatcomShellCommand(cmd);
if (shellCommand.empty()) {
shellCommand = this->Convert(cmd, cmOutputConverter::NONE,
@@ -1027,35 +1051,6 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
commands.insert(commands.end(), commands1.begin(), commands1.end());
}
-std::string cmLocalUnixMakefileGenerator3::MakeLauncher(
- cmCustomCommandGenerator const& ccg, cmGeneratorTarget* target,
- cmOutputConverter::RelativeRoot relative)
-{
- std::string launcher;
- // Short-circuit if there is no launcher.
- const char* prop = "RULE_LAUNCH_CUSTOM";
- const char* val = this->GetRuleLauncher(target, prop);
- if (val && *val) {
- // Expand rules in the empty string. It may insert the launcher and
- // perform replacements.
- RuleVariables vars;
- vars.RuleLauncher = prop;
- vars.CMTarget = target;
- std::string output;
- const std::vector<std::string>& outputs = ccg.GetOutputs();
- if (!outputs.empty()) {
- output = this->Convert(outputs[0], relative, cmOutputConverter::SHELL);
- }
- vars.Output = output.c_str();
-
- this->ExpandRuleVariables(launcher, vars);
- if (!launcher.empty()) {
- launcher += " ";
- }
- }
- return launcher;
-}
-
void cmLocalUnixMakefileGenerator3::AppendCleanCommand(
std::vector<std::string>& commands, const std::vector<std::string>& files,
cmGeneratorTarget* target, const char* filename)
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index ea98607..3e90055 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -251,9 +251,6 @@ protected:
private:
std::string MaybeConvertWatcomShellCommand(std::string const& cmd);
- std::string MakeLauncher(cmCustomCommandGenerator const& ccg,
- cmGeneratorTarget* target,
- cmOutputConverter::RelativeRoot relative);
void ComputeObjectFilenames(
std::map<cmSourceFile const*, std::string>& mapping,
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba4ba7c39de82b805652efbb7dc5e1659c53f36b
commit ba4ba7c39de82b805652efbb7dc5e1659c53f36b
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:54 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:21:24 2016 +0200
Makefiles: Simplify MakeLauncher return value
Bonus NRVO.
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 47b891f..53c2ff6 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1031,6 +1031,7 @@ std::string cmLocalUnixMakefileGenerator3::MakeLauncher(
cmCustomCommandGenerator const& ccg, cmGeneratorTarget* target,
cmOutputConverter::RelativeRoot relative)
{
+ std::string launcher;
// Short-circuit if there is no launcher.
const char* prop = "RULE_LAUNCH_CUSTOM";
const char* val = this->GetRuleLauncher(target, prop);
@@ -1047,14 +1048,12 @@ std::string cmLocalUnixMakefileGenerator3::MakeLauncher(
}
vars.Output = output.c_str();
- std::string launcher;
this->ExpandRuleVariables(launcher, vars);
if (!launcher.empty()) {
launcher += " ";
}
- return launcher;
}
- return "";
+ return launcher;
}
void cmLocalUnixMakefileGenerator3::AppendCleanCommand(
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e804d410cd4e391cd81ff3d8981cfba1fae28742
commit e804d410cd4e391cd81ff3d8981cfba1fae28742
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:54 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:21:23 2016 +0200
Makefiles: Invert logic in MakeLauncher
Make it easier to inline into the caller.
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index e148887..47b891f 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1034,28 +1034,27 @@ std::string cmLocalUnixMakefileGenerator3::MakeLauncher(
// Short-circuit if there is no launcher.
const char* prop = "RULE_LAUNCH_CUSTOM";
const char* val = this->GetRuleLauncher(target, prop);
- if (!(val && *val)) {
- return "";
- }
-
- // Expand rules in the empty string. It may insert the launcher and
- // perform replacements.
- RuleVariables vars;
- vars.RuleLauncher = prop;
- vars.CMTarget = target;
- std::string output;
- const std::vector<std::string>& outputs = ccg.GetOutputs();
- if (!outputs.empty()) {
- output = this->Convert(outputs[0], relative, cmOutputConverter::SHELL);
- }
- vars.Output = output.c_str();
+ if (val && *val) {
+ // Expand rules in the empty string. It may insert the launcher and
+ // perform replacements.
+ RuleVariables vars;
+ vars.RuleLauncher = prop;
+ vars.CMTarget = target;
+ std::string output;
+ const std::vector<std::string>& outputs = ccg.GetOutputs();
+ if (!outputs.empty()) {
+ output = this->Convert(outputs[0], relative, cmOutputConverter::SHELL);
+ }
+ vars.Output = output.c_str();
- std::string launcher;
- this->ExpandRuleVariables(launcher, vars);
- if (!launcher.empty()) {
- launcher += " ";
+ std::string launcher;
+ this->ExpandRuleVariables(launcher, vars);
+ if (!launcher.empty()) {
+ launcher += " ";
+ }
+ return launcher;
}
- return launcher;
+ return "";
}
void cmLocalUnixMakefileGenerator3::AppendCleanCommand(
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2722c4dcc55605b7946f3c9bfa4b2fe5ce4161cb
commit 2722c4dcc55605b7946f3c9bfa4b2fe5ce4161cb
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:53 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:21:14 2016 +0200
Makefiles: Remove useless use of Convert
Convert with NONE and UNCHANGED is a no-op.
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index f026b12..e148887 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -835,8 +835,7 @@ std::string cmLocalUnixMakefileGenerator3::GetRelativeTargetDirectory(
{
std::string dir = this->HomeRelativeOutputPath;
dir += this->GetTargetDirectory(target);
- return this->Convert(dir, cmOutputConverter::NONE,
- cmOutputConverter::UNCHANGED);
+ return dir;
}
void cmLocalUnixMakefileGenerator3::AppendFlags(std::string& flags,
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=112c87b28afac71617bcbb552ae1f2027bb548b6
commit 112c87b28afac71617bcbb552ae1f2027bb548b6
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Aug 27 13:44:53 2016 +0200
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sat Aug 27 15:16:50 2016 +0200
Makefiles: Replace method with Wacom specific API
The existing method uses RelativeRoot NONE and FULL values. In
principle, those should be segregated interfaces. Mixing
NONE and FULL into the RelativeRoot enum is a case of
http://thedailywtf.com/articles/What_Is_Truth_0x3f_
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index f2ef5c8..f026b12 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -592,8 +592,8 @@ void cmLocalUnixMakefileGenerator3::WriteMakeRule(
}
}
-std::string cmLocalUnixMakefileGenerator3::ConvertShellCommand(
- std::string const& cmd, cmOutputConverter::RelativeRoot root)
+std::string cmLocalUnixMakefileGenerator3::MaybeConvertWatcomShellCommand(
+ std::string const& cmd)
{
if (this->IsWatcomWMake() && cmSystemTools::FileIsFullPath(cmd.c_str()) &&
cmd.find_first_of("( )") != cmd.npos) {
@@ -606,7 +606,7 @@ std::string cmLocalUnixMakefileGenerator3::ConvertShellCommand(
cmOutputConverter::SHELL);
}
}
- return this->Convert(cmd, root, cmOutputConverter::SHELL);
+ return std::string();
}
void cmLocalUnixMakefileGenerator3::WriteMakeVariables(
@@ -638,8 +638,13 @@ void cmLocalUnixMakefileGenerator3::WriteMakeVariables(
#endif
}
- std::string cmakeShellCommand = this->ConvertShellCommand(
- cmSystemTools::GetCMakeCommand(), cmOutputConverter::FULL);
+ std::string cmakeShellCommand =
+ this->MaybeConvertWatcomShellCommand(cmSystemTools::GetCMakeCommand());
+ if (cmakeShellCommand.empty()) {
+ cmakeShellCommand =
+ this->Convert(cmSystemTools::GetCMakeCommand(), cmOutputConverter::FULL,
+ cmOutputConverter::SHELL);
+ }
/* clang-format off */
makefileStream
@@ -975,7 +980,12 @@ void cmLocalUnixMakefileGenerator3::AppendCustomCommand(
std::string launcher = this->MakeLauncher(
ccg, target, workingDir.empty() ? cmOutputConverter::START_OUTPUT
: cmOutputConverter::NONE);
- cmd = launcher + this->ConvertShellCommand(cmd, cmOutputConverter::NONE);
+ std::string shellCommand = this->MaybeConvertWatcomShellCommand(cmd);
+ if (shellCommand.empty()) {
+ shellCommand = this->Convert(cmd, cmOutputConverter::NONE,
+ cmOutputConverter::SHELL);
+ }
+ cmd = launcher + shellCommand;
ccg.AppendArguments(c, cmd);
if (content) {
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index 243cc3d..ea98607 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -250,8 +250,7 @@ protected:
void CheckMultipleOutputs(bool verbose);
private:
- std::string ConvertShellCommand(std::string const& cmd,
- cmOutputConverter::RelativeRoot root);
+ std::string MaybeConvertWatcomShellCommand(std::string const& cmd);
std::string MakeLauncher(cmCustomCommandGenerator const& ccg,
cmGeneratorTarget* target,
cmOutputConverter::RelativeRoot relative);
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list