mirror of
https://github.com/reactos/CMake.git
synced 2025-02-28 16:05:38 +00:00
cmCustomCommand: Explicitly pass backtrace on construction
This commit is contained in:
parent
3dc084ebc1
commit
96e5042e46
@ -5,26 +5,22 @@
|
||||
#include <utility>
|
||||
|
||||
#include "cmAlgorithms.h"
|
||||
#include "cmMakefile.h"
|
||||
|
||||
cmCustomCommand::cmCustomCommand(cmMakefile const* mf,
|
||||
std::vector<std::string> outputs,
|
||||
cmCustomCommand::cmCustomCommand(std::vector<std::string> outputs,
|
||||
std::vector<std::string> byproducts,
|
||||
std::vector<std::string> depends,
|
||||
cmCustomCommandLines commandLines,
|
||||
const char* comment,
|
||||
cmListFileBacktrace lfbt, const char* comment,
|
||||
const char* workingDirectory)
|
||||
: Outputs(std::move(outputs))
|
||||
, Byproducts(std::move(byproducts))
|
||||
, Depends(std::move(depends))
|
||||
, CommandLines(std::move(commandLines))
|
||||
, Backtrace(std::move(lfbt))
|
||||
, Comment(comment ? comment : "")
|
||||
, WorkingDirectory(workingDirectory ? workingDirectory : "")
|
||||
, HaveComment(comment != nullptr)
|
||||
{
|
||||
if (mf) {
|
||||
this->Backtrace = mf->GetBacktrace();
|
||||
}
|
||||
}
|
||||
|
||||
const std::vector<std::string>& cmCustomCommand::GetOutputs() const
|
||||
|
@ -12,8 +12,6 @@
|
||||
#include "cmCustomCommandLines.h"
|
||||
#include "cmListFileCache.h"
|
||||
|
||||
class cmMakefile;
|
||||
|
||||
class cmImplicitDependsList
|
||||
: public std::vector<std::pair<std::string, std::string>>
|
||||
{
|
||||
@ -28,11 +26,11 @@ class cmCustomCommand
|
||||
{
|
||||
public:
|
||||
/** Main constructor specifies all information for the command. */
|
||||
cmCustomCommand(cmMakefile const* mf, std::vector<std::string> outputs,
|
||||
cmCustomCommand(std::vector<std::string> outputs,
|
||||
std::vector<std::string> byproducts,
|
||||
std::vector<std::string> depends,
|
||||
cmCustomCommandLines commandLines, const char* comment,
|
||||
const char* workingDirectory);
|
||||
cmCustomCommandLines commandLines, cmListFileBacktrace lfbt,
|
||||
const char* comment, const char* workingDirectory);
|
||||
|
||||
/** Get the output file produced by the command. */
|
||||
const std::vector<std::string>& GetOutputs() const;
|
||||
|
@ -2651,8 +2651,8 @@ cmTarget cmGlobalGenerator::CreateGlobalTarget(GlobalTargetInfo const& gti,
|
||||
std::vector<std::string> no_byproducts;
|
||||
std::vector<std::string> no_depends;
|
||||
// Store the custom command in the target.
|
||||
cmCustomCommand cc(nullptr, no_outputs, no_byproducts, no_depends,
|
||||
gti.CommandLines, nullptr, gti.WorkingDir.c_str());
|
||||
cmCustomCommand cc(no_outputs, no_byproducts, no_depends, gti.CommandLines,
|
||||
cmListFileBacktrace(), nullptr, gti.WorkingDir.c_str());
|
||||
cc.SetUsesTerminal(gti.UsesTerminal);
|
||||
target.AddPostBuildCommand(std::move(cc));
|
||||
if (!gti.Message.empty()) {
|
||||
|
@ -930,9 +930,10 @@ void cmGlobalVisualStudioGenerator::AddSymbolExportCommand(
|
||||
|
||||
cmCustomCommandLines commandLines = cmMakeSingleCommandLine(
|
||||
{ cmakeCommand, "-E", "__create_def", mdi->DefFile, objs_file });
|
||||
cmCustomCommand command(gt->Target->GetMakefile(), outputs, empty, empty,
|
||||
commandLines, "Auto build dll exports", ".");
|
||||
commands.push_back(command);
|
||||
cmCustomCommand command(outputs, empty, empty, commandLines,
|
||||
gt->Target->GetMakefile()->GetBacktrace(),
|
||||
"Auto build dll exports", ".");
|
||||
commands.push_back(std::move(command));
|
||||
}
|
||||
|
||||
static bool OpenSolution(std::string sln)
|
||||
|
@ -1462,12 +1462,12 @@ void cmGlobalXCodeGenerator::CreateCustomCommands(
|
||||
{ cmSystemTools::GetCMakeCommand(), "-E", "cmake_symlink_library",
|
||||
str_file, str_so_file, str_link_file });
|
||||
|
||||
cmCustomCommand command(this->CurrentMakefile, std::vector<std::string>(),
|
||||
std::vector<std::string>(),
|
||||
std::vector<std::string>(), cmd,
|
||||
"Creating symlinks", "");
|
||||
cmCustomCommand command(
|
||||
std::vector<std::string>(), std::vector<std::string>(),
|
||||
std::vector<std::string>(), cmd, this->CurrentMakefile->GetBacktrace(),
|
||||
"Creating symlinks", "");
|
||||
|
||||
postbuild.push_back(command);
|
||||
postbuild.push_back(std::move(command));
|
||||
}
|
||||
|
||||
std::vector<cmSourceFile*> classes;
|
||||
|
@ -104,8 +104,8 @@ cmLocalVisualStudioGenerator::MaybeCreateImplibDir(cmGeneratorTarget* target,
|
||||
std::vector<std::string> no_depends;
|
||||
cmCustomCommandLines commands = cmMakeSingleCommandLine(
|
||||
{ cmSystemTools::GetCMakeCommand(), "-E", "make_directory", impDir });
|
||||
pcc.reset(new cmCustomCommand(0, no_output, no_byproducts, no_depends,
|
||||
commands, 0, 0));
|
||||
pcc.reset(new cmCustomCommand(no_output, no_byproducts, no_depends, commands,
|
||||
cmListFileBacktrace(), nullptr, nullptr));
|
||||
pcc->SetEscapeOldStyle(false);
|
||||
pcc->SetEscapeAllowMakeVars(true);
|
||||
return pcc;
|
||||
|
@ -946,8 +946,8 @@ void cmMakefile::CommitCustomCommandToTarget(
|
||||
{
|
||||
// Add the command to the appropriate build step for the target.
|
||||
std::vector<std::string> no_output;
|
||||
cmCustomCommand cc(this, no_output, byproducts, depends, commandLines,
|
||||
comment, workingDir);
|
||||
cmCustomCommand cc(no_output, byproducts, depends, commandLines,
|
||||
this->Backtrace, comment, workingDir);
|
||||
cc.SetEscapeOldStyle(escapeOldStyle);
|
||||
cc.SetEscapeAllowMakeVars(true);
|
||||
cc.SetUsesTerminal(uses_terminal);
|
||||
@ -1083,7 +1083,8 @@ cmSourceFile* cmMakefile::CommitCustomCommandToOutput(
|
||||
}
|
||||
|
||||
std::unique_ptr<cmCustomCommand> cc = cm::make_unique<cmCustomCommand>(
|
||||
this, outputs, byproducts, depends2, commandLines, comment, workingDir);
|
||||
outputs, byproducts, depends2, commandLines, this->Backtrace, comment,
|
||||
workingDir);
|
||||
cc->SetEscapeOldStyle(escapeOldStyle);
|
||||
cc->SetEscapeAllowMakeVars(true);
|
||||
cc->SetImplicitDepends(implicit_depends);
|
||||
|
@ -1082,8 +1082,8 @@ bool cmQtAutoGenInitializer::InitAutogenTarget()
|
||||
// PRE_BUILD does not support file dependencies!
|
||||
const std::vector<std::string> no_output;
|
||||
const std::vector<std::string> no_deps;
|
||||
cmCustomCommand cc(this->Makefile, no_output, autogenProvides, no_deps,
|
||||
commandLines, autogenComment.c_str(),
|
||||
cmCustomCommand cc(no_output, autogenProvides, no_deps, commandLines,
|
||||
this->Makefile->GetBacktrace(), autogenComment.c_str(),
|
||||
this->Dir.Work.c_str());
|
||||
cc.SetEscapeOldStyle(false);
|
||||
cc.SetEscapeAllowMakeVars(true);
|
||||
|
Loading…
x
Reference in New Issue
Block a user