cmMakefile: Move CMP0116 lookup into Add{Custom,Utility}Command
Avoid repeating it at every call site.
This commit is contained in:
parent
2bad0145af
commit
d0158b765b
@ -320,16 +320,15 @@ bool cmAddCustomCommandCommand(std::vector<std::string> const& args,
|
||||
if (source.empty() && output.empty()) {
|
||||
// Source is empty, use the target.
|
||||
std::vector<std::string> no_depends;
|
||||
mf.AddCustomCommandToTarget(
|
||||
target, byproducts, no_depends, commandLines, cctype, comment,
|
||||
working.c_str(), mf.GetPolicyStatus(cmPolicies::CMP0116), escapeOldStyle,
|
||||
uses_terminal, depfile, job_pool, command_expand_lists);
|
||||
mf.AddCustomCommandToTarget(target, byproducts, no_depends, commandLines,
|
||||
cctype, comment, working.c_str(),
|
||||
escapeOldStyle, uses_terminal, depfile,
|
||||
job_pool, command_expand_lists);
|
||||
} else if (target.empty()) {
|
||||
// Target is empty, use the output.
|
||||
mf.AddCustomCommandToOutput(
|
||||
output, byproducts, depends, main_dependency, implicit_depends,
|
||||
commandLines, comment, working.c_str(),
|
||||
mf.GetPolicyStatus(cmPolicies::CMP0116), nullptr, false, escapeOldStyle,
|
||||
commandLines, comment, working.c_str(), nullptr, false, escapeOldStyle,
|
||||
uses_terminal, command_expand_lists, depfile, job_pool);
|
||||
} else if (!byproducts.empty()) {
|
||||
status.SetError("BYPRODUCTS may not be specified with SOURCE signatures");
|
||||
@ -366,8 +365,7 @@ bool cmAddCustomCommandCommand(std::vector<std::string> const& args,
|
||||
|
||||
// Use the old-style mode for backward compatibility.
|
||||
mf.AddCustomCommandOldStyle(target, outputs, depends, source, commandLines,
|
||||
comment,
|
||||
mf.GetPolicyStatus(cmPolicies::CMP0116));
|
||||
comment);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "cmGlobalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmPolicies.h"
|
||||
#include "cmStateTypes.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmSystemTools.h"
|
||||
@ -214,8 +213,8 @@ bool cmAddCustomTargetCommand(std::vector<std::string> const& args,
|
||||
bool escapeOldStyle = !verbatim;
|
||||
cmTarget* target = mf.AddUtilityCommand(
|
||||
targetName, excludeFromAll, working_directory.c_str(), byproducts, depends,
|
||||
commandLines, mf.GetPolicyStatus(cmPolicies::CMP0116), escapeOldStyle,
|
||||
comment, uses_terminal, command_expand_lists, job_pool);
|
||||
commandLines, escapeOldStyle, comment, uses_terminal, command_expand_lists,
|
||||
job_pool);
|
||||
|
||||
// Add additional user-specified source files to the target.
|
||||
target->AddSources(sources);
|
||||
|
@ -225,8 +225,7 @@ static void CCONV cmAddUtilityCommand(void* arg, const char* utilityName,
|
||||
// Pass the call to the makefile instance.
|
||||
std::vector<std::string> no_byproducts;
|
||||
mf->AddUtilityCommand(utilityName, !all, nullptr, no_byproducts, depends2,
|
||||
commandLines,
|
||||
mf->GetPolicyStatus(cmPolicies::CMP0116));
|
||||
commandLines);
|
||||
}
|
||||
|
||||
static void CCONV cmAddCustomCommand(void* arg, const char* source,
|
||||
@ -267,8 +266,7 @@ static void CCONV cmAddCustomCommand(void* arg, const char* source,
|
||||
// Pass the call to the makefile instance.
|
||||
const char* no_comment = nullptr;
|
||||
mf->AddCustomCommandOldStyle(target, outputs2, depends2, source,
|
||||
commandLines, no_comment,
|
||||
mf->GetPolicyStatus(cmPolicies::CMP0116));
|
||||
commandLines, no_comment);
|
||||
}
|
||||
|
||||
static void CCONV cmAddCustomCommandToOutput(void* arg, const char* output,
|
||||
@ -304,8 +302,7 @@ static void CCONV cmAddCustomCommandToOutput(void* arg, const char* output,
|
||||
const char* no_comment = nullptr;
|
||||
const char* no_working_dir = nullptr;
|
||||
mf->AddCustomCommandToOutput(output, depends2, main_dependency, commandLines,
|
||||
no_comment, no_working_dir,
|
||||
mf->GetPolicyStatus(cmPolicies::CMP0116));
|
||||
no_comment, no_working_dir);
|
||||
}
|
||||
|
||||
static void CCONV cmAddCustomCommandToTarget(void* arg, const char* target,
|
||||
@ -348,8 +345,7 @@ static void CCONV cmAddCustomCommandToTarget(void* arg, const char* target,
|
||||
const char* no_comment = nullptr;
|
||||
const char* no_working_dir = nullptr;
|
||||
mf->AddCustomCommandToTarget(target, no_byproducts, no_depends, commandLines,
|
||||
cctype, no_comment, no_working_dir,
|
||||
mf->GetPolicyStatus(cmPolicies::CMP0116));
|
||||
cctype, no_comment, no_working_dir);
|
||||
}
|
||||
|
||||
static void addLinkLibrary(cmMakefile* mf, std::string const& target,
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "cmLocalGenerator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmMessageType.h"
|
||||
#include "cmPolicies.h"
|
||||
#include "cmRange.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
@ -99,11 +98,9 @@ bool cmFLTKWrapUICommand(std::vector<std::string> const& args,
|
||||
const char* no_comment = nullptr;
|
||||
const char* no_working_dir = nullptr;
|
||||
mf.AddCustomCommandToOutput(cxxres, depends, no_main_dependency,
|
||||
commandLines, no_comment, no_working_dir,
|
||||
mf.GetPolicyStatus(cmPolicies::CMP0116));
|
||||
commandLines, no_comment, no_working_dir);
|
||||
mf.AddCustomCommandToOutput(hname, depends, no_main_dependency,
|
||||
commandLines, no_comment, no_working_dir,
|
||||
mf.GetPolicyStatus(cmPolicies::CMP0116));
|
||||
commandLines, no_comment, no_working_dir);
|
||||
|
||||
cmSourceFile* sf = mf.GetSource(cxxres);
|
||||
sf->AddDepend(hname);
|
||||
|
@ -1059,9 +1059,8 @@ cmTarget* cmMakefile::AddCustomCommandToTarget(
|
||||
const std::string& target, const std::vector<std::string>& byproducts,
|
||||
const std::vector<std::string>& depends,
|
||||
const cmCustomCommandLines& commandLines, cmCustomCommandType type,
|
||||
const char* comment, const char* workingDir,
|
||||
cmPolicies::PolicyStatus cmp0116, bool escapeOldStyle, bool uses_terminal,
|
||||
const std::string& depfile, const std::string& job_pool,
|
||||
const char* comment, const char* workingDir, bool escapeOldStyle,
|
||||
bool uses_terminal, const std::string& depfile, const std::string& job_pool,
|
||||
bool command_expand_lists, bool stdPipesUTF8)
|
||||
{
|
||||
cmTarget* t = this->GetCustomCommandTarget(
|
||||
@ -1075,6 +1074,8 @@ cmTarget* cmMakefile::AddCustomCommandToTarget(
|
||||
// Always create the byproduct sources and mark them generated.
|
||||
this->CreateGeneratedOutputs(byproducts);
|
||||
|
||||
auto cmp0116 = this->GetPolicyStatus(cmPolicies::CMP0116);
|
||||
|
||||
// Strings could be moved into the callback function with C++14.
|
||||
cm::optional<std::string> commentStr = MakeOptionalString(comment);
|
||||
cm::optional<std::string> workingStr = MakeOptionalString(workingDir);
|
||||
@ -1097,18 +1098,16 @@ void cmMakefile::AddCustomCommandToOutput(
|
||||
const std::string& output, const std::vector<std::string>& depends,
|
||||
const std::string& main_dependency, const cmCustomCommandLines& commandLines,
|
||||
const char* comment, const char* workingDir,
|
||||
cmPolicies::PolicyStatus cmp0116, const CommandSourceCallback& callback,
|
||||
bool replace, bool escapeOldStyle, bool uses_terminal,
|
||||
bool command_expand_lists, const std::string& depfile,
|
||||
const CommandSourceCallback& callback, bool replace, bool escapeOldStyle,
|
||||
bool uses_terminal, bool command_expand_lists, const std::string& depfile,
|
||||
const std::string& job_pool, bool stdPipesUTF8)
|
||||
{
|
||||
std::vector<std::string> no_byproducts;
|
||||
cmImplicitDependsList no_implicit_depends;
|
||||
this->AddCustomCommandToOutput(
|
||||
{ output }, no_byproducts, depends, main_dependency, no_implicit_depends,
|
||||
commandLines, comment, workingDir, cmp0116, callback, replace,
|
||||
escapeOldStyle, uses_terminal, command_expand_lists, depfile, job_pool,
|
||||
stdPipesUTF8);
|
||||
commandLines, comment, workingDir, callback, replace, escapeOldStyle,
|
||||
uses_terminal, command_expand_lists, depfile, job_pool, stdPipesUTF8);
|
||||
}
|
||||
|
||||
void cmMakefile::AddCustomCommandToOutput(
|
||||
@ -1117,10 +1116,9 @@ void cmMakefile::AddCustomCommandToOutput(
|
||||
const std::vector<std::string>& depends, const std::string& main_dependency,
|
||||
const cmImplicitDependsList& implicit_depends,
|
||||
const cmCustomCommandLines& commandLines, const char* comment,
|
||||
const char* workingDir, cmPolicies::PolicyStatus cmp0116,
|
||||
const CommandSourceCallback& callback, bool replace, bool escapeOldStyle,
|
||||
bool uses_terminal, bool command_expand_lists, const std::string& depfile,
|
||||
const std::string& job_pool, bool stdPipesUTF8)
|
||||
const char* workingDir, const CommandSourceCallback& callback, bool replace,
|
||||
bool escapeOldStyle, bool uses_terminal, bool command_expand_lists,
|
||||
const std::string& depfile, const std::string& job_pool, bool stdPipesUTF8)
|
||||
{
|
||||
// Make sure there is at least one output.
|
||||
if (outputs.empty()) {
|
||||
@ -1137,6 +1135,8 @@ void cmMakefile::AddCustomCommandToOutput(
|
||||
this->CreateGeneratedOutputs(outputs);
|
||||
this->CreateGeneratedOutputs(byproducts);
|
||||
|
||||
auto cmp0116 = this->GetPolicyStatus(cmPolicies::CMP0116);
|
||||
|
||||
// Strings could be moved into the callback function with C++14.
|
||||
cm::optional<std::string> commentStr = MakeOptionalString(comment);
|
||||
cm::optional<std::string> workingStr = MakeOptionalString(workingDir);
|
||||
@ -1160,8 +1160,7 @@ void cmMakefile::AddCustomCommandToOutput(
|
||||
void cmMakefile::AddCustomCommandOldStyle(
|
||||
const std::string& target, const std::vector<std::string>& outputs,
|
||||
const std::vector<std::string>& depends, const std::string& source,
|
||||
const cmCustomCommandLines& commandLines, const char* comment,
|
||||
cmPolicies::PolicyStatus cmp0116)
|
||||
const cmCustomCommandLines& commandLines, const char* comment)
|
||||
{
|
||||
// Translate the old-style signature to one of the new-style
|
||||
// signatures.
|
||||
@ -1172,7 +1171,7 @@ void cmMakefile::AddCustomCommandOldStyle(
|
||||
std::vector<std::string> no_byproducts;
|
||||
this->AddCustomCommandToTarget(
|
||||
target, no_byproducts, depends, commandLines,
|
||||
cmCustomCommandType::POST_BUILD, comment, nullptr, cmp0116);
|
||||
cmCustomCommandType::POST_BUILD, comment, nullptr);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1205,8 +1204,7 @@ void cmMakefile::AddCustomCommandOldStyle(
|
||||
// The source looks like a real file. Use it as the main dependency.
|
||||
for (std::string const& output : outputs) {
|
||||
this->AddCustomCommandToOutput(output, depends, source, commandLines,
|
||||
comment, nullptr, cmp0116,
|
||||
addRuleFileToTarget);
|
||||
comment, nullptr, addRuleFileToTarget);
|
||||
}
|
||||
} else {
|
||||
std::string no_main_dependency;
|
||||
@ -1216,7 +1214,7 @@ void cmMakefile::AddCustomCommandOldStyle(
|
||||
// The source may not be a real file. Do not use a main dependency.
|
||||
for (std::string const& output : outputs) {
|
||||
this->AddCustomCommandToOutput(output, depends2, no_main_dependency,
|
||||
commandLines, comment, nullptr, cmp0116,
|
||||
commandLines, comment, nullptr,
|
||||
addRuleFileToTarget);
|
||||
}
|
||||
}
|
||||
@ -1243,9 +1241,9 @@ cmTarget* cmMakefile::AddUtilityCommand(
|
||||
const std::string& utilityName, bool excludeFromAll, const char* workingDir,
|
||||
const std::vector<std::string>& byproducts,
|
||||
const std::vector<std::string>& depends,
|
||||
const cmCustomCommandLines& commandLines, cmPolicies::PolicyStatus cmp0116,
|
||||
bool escapeOldStyle, const char* comment, bool uses_terminal,
|
||||
bool command_expand_lists, const std::string& job_pool, bool stdPipesUTF8)
|
||||
const cmCustomCommandLines& commandLines, bool escapeOldStyle,
|
||||
const char* comment, bool uses_terminal, bool command_expand_lists,
|
||||
const std::string& job_pool, bool stdPipesUTF8)
|
||||
{
|
||||
cmTarget* target = this->AddNewUtilityTarget(utilityName, excludeFromAll);
|
||||
|
||||
@ -1258,6 +1256,8 @@ cmTarget* cmMakefile::AddUtilityCommand(
|
||||
// Always create the byproduct sources and mark them generated.
|
||||
this->CreateGeneratedOutputs(byproducts);
|
||||
|
||||
auto cmp0116 = this->GetPolicyStatus(cmPolicies::CMP0116);
|
||||
|
||||
// Strings could be moved into the callback function with C++14.
|
||||
cm::optional<std::string> commentStr = MakeOptionalString(comment);
|
||||
cm::optional<std::string> workingStr = MakeOptionalString(workingDir);
|
||||
|
@ -169,8 +169,7 @@ public:
|
||||
const std::string& target, const std::vector<std::string>& byproducts,
|
||||
const std::vector<std::string>& depends,
|
||||
const cmCustomCommandLines& commandLines, cmCustomCommandType type,
|
||||
const char* comment, const char* workingDir,
|
||||
cmPolicies::PolicyStatus cmp0116, bool escapeOldStyle = true,
|
||||
const char* comment, const char* workingDir, bool escapeOldStyle = true,
|
||||
bool uses_terminal = false, const std::string& depfile = "",
|
||||
const std::string& job_pool = "", bool command_expand_lists = false,
|
||||
bool stdPipesUTF8 = false);
|
||||
@ -187,11 +186,11 @@ public:
|
||||
const std::string& output, const std::vector<std::string>& depends,
|
||||
const std::string& main_dependency,
|
||||
const cmCustomCommandLines& commandLines, const char* comment,
|
||||
const char* workingDir, cmPolicies::PolicyStatus cmp0116,
|
||||
const CommandSourceCallback& callback = nullptr, bool replace = false,
|
||||
bool escapeOldStyle = true, bool uses_terminal = false,
|
||||
bool command_expand_lists = false, const std::string& depfile = "",
|
||||
const std::string& job_pool = "", bool stdPipesUTF8 = false);
|
||||
const char* workingDir, const CommandSourceCallback& callback = nullptr,
|
||||
bool replace = false, bool escapeOldStyle = true,
|
||||
bool uses_terminal = false, bool command_expand_lists = false,
|
||||
const std::string& depfile = "", const std::string& job_pool = "",
|
||||
bool stdPipesUTF8 = false);
|
||||
void AddCustomCommandToOutput(
|
||||
const std::vector<std::string>& outputs,
|
||||
const std::vector<std::string>& byproducts,
|
||||
@ -199,18 +198,17 @@ public:
|
||||
const std::string& main_dependency,
|
||||
const cmImplicitDependsList& implicit_depends,
|
||||
const cmCustomCommandLines& commandLines, const char* comment,
|
||||
const char* workingDir, cmPolicies::PolicyStatus cmp0116,
|
||||
const CommandSourceCallback& callback = nullptr, bool replace = false,
|
||||
bool escapeOldStyle = true, bool uses_terminal = false,
|
||||
bool command_expand_lists = false, const std::string& depfile = "",
|
||||
const std::string& job_pool = "", bool stdPipesUTF8 = false);
|
||||
const char* workingDir, const CommandSourceCallback& callback = nullptr,
|
||||
bool replace = false, bool escapeOldStyle = true,
|
||||
bool uses_terminal = false, bool command_expand_lists = false,
|
||||
const std::string& depfile = "", const std::string& job_pool = "",
|
||||
bool stdPipesUTF8 = false);
|
||||
void AddCustomCommandOldStyle(const std::string& target,
|
||||
const std::vector<std::string>& outputs,
|
||||
const std::vector<std::string>& depends,
|
||||
const std::string& source,
|
||||
const cmCustomCommandLines& commandLines,
|
||||
const char* comment,
|
||||
cmPolicies::PolicyStatus cmp0116);
|
||||
const char* comment);
|
||||
void AppendCustomCommandToOutput(
|
||||
const std::string& output, const std::vector<std::string>& depends,
|
||||
const cmImplicitDependsList& implicit_depends,
|
||||
@ -256,10 +254,10 @@ public:
|
||||
const std::string& utilityName, bool excludeFromAll,
|
||||
const char* workingDir, const std::vector<std::string>& byproducts,
|
||||
const std::vector<std::string>& depends,
|
||||
const cmCustomCommandLines& commandLines, cmPolicies::PolicyStatus cmp0116,
|
||||
bool escapeOldStyle = true, const char* comment = nullptr,
|
||||
bool uses_terminal = false, bool command_expand_lists = false,
|
||||
const std::string& job_pool = "", bool stdPipesUTF8 = false);
|
||||
const cmCustomCommandLines& commandLines, bool escapeOldStyle = true,
|
||||
const char* comment = nullptr, bool uses_terminal = false,
|
||||
bool command_expand_lists = false, const std::string& job_pool = "",
|
||||
bool stdPipesUTF8 = false);
|
||||
|
||||
/**
|
||||
* Add a subdirectory to the build.
|
||||
|
@ -5,7 +5,6 @@
|
||||
#include "cmCustomCommandLines.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmPolicies.h"
|
||||
#include "cmRange.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
@ -73,9 +72,9 @@ bool cmQTWrapCPPCommand(std::vector<std::string> const& args,
|
||||
|
||||
std::string no_main_dependency;
|
||||
const char* no_working_dir = nullptr;
|
||||
mf.AddCustomCommandToOutput(
|
||||
newName, depends, no_main_dependency, commandLines, "Qt Wrapped File",
|
||||
no_working_dir, mf.GetPolicyStatus(cmPolicies::CMP0116));
|
||||
mf.AddCustomCommandToOutput(newName, depends, no_main_dependency,
|
||||
commandLines, "Qt Wrapped File",
|
||||
no_working_dir);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
#include "cmCustomCommandLines.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmPolicies.h"
|
||||
#include "cmRange.h"
|
||||
#include "cmSourceFile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
@ -88,19 +87,16 @@ bool cmQTWrapUICommand(std::vector<std::string> const& args,
|
||||
const char* no_comment = nullptr;
|
||||
const char* no_working_dir = nullptr;
|
||||
mf.AddCustomCommandToOutput(hName, depends, no_main_dependency,
|
||||
hCommandLines, no_comment, no_working_dir,
|
||||
mf.GetPolicyStatus(cmPolicies::CMP0116));
|
||||
hCommandLines, no_comment, no_working_dir);
|
||||
|
||||
depends.push_back(hName);
|
||||
mf.AddCustomCommandToOutput(cxxName, depends, no_main_dependency,
|
||||
cxxCommandLines, no_comment, no_working_dir,
|
||||
mf.GetPolicyStatus(cmPolicies::CMP0116));
|
||||
cxxCommandLines, no_comment, no_working_dir);
|
||||
|
||||
depends.clear();
|
||||
depends.push_back(hName);
|
||||
mf.AddCustomCommandToOutput(mocName, depends, no_main_dependency,
|
||||
mocCommandLines, no_comment, no_working_dir,
|
||||
mf.GetPolicyStatus(cmPolicies::CMP0116));
|
||||
mocCommandLines, no_comment, no_working_dir);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user