mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-19 12:50:48 -05:00
Merge topic 'cmp0153-suggestion'
d3cc815c98CMP0153: Add suggestion to use execute_process()8313d26198cmState::AddDisallowedCommand(): Allow additional warning info Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !8921
This commit is contained in:
@@ -219,9 +219,11 @@ void GetScriptingCommands(cmState* state)
|
||||
state->AddDisallowedCommand(
|
||||
"use_mangled_mesa", cmUseMangledMesaCommand, cmPolicies::CMP0030,
|
||||
"The use_mangled_mesa command should not be called; see CMP0030.");
|
||||
state->AddDisallowedCommand(
|
||||
"exec_program", cmExecProgramCommand, cmPolicies::CMP0153,
|
||||
"The exec_program command should not be called; see CMP0153.");
|
||||
state->AddDisallowedCommand("exec_program", cmExecProgramCommand,
|
||||
cmPolicies::CMP0153,
|
||||
"The exec_program command should not be called; "
|
||||
"see CMP0153. Use execute_process() instead.",
|
||||
"Use execute_process() instead.");
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -447,17 +447,23 @@ void cmState::AddFlowControlCommand(std::string const& name,
|
||||
void cmState::AddDisallowedCommand(std::string const& name,
|
||||
BuiltinCommand command,
|
||||
cmPolicies::PolicyID policy,
|
||||
const char* message)
|
||||
const char* message,
|
||||
const char* additionalWarning)
|
||||
{
|
||||
this->AddBuiltinCommand(
|
||||
name,
|
||||
[command, policy, message](const std::vector<cmListFileArgument>& args,
|
||||
cmExecutionStatus& status) -> bool {
|
||||
[command, policy, message,
|
||||
additionalWarning](const std::vector<cmListFileArgument>& args,
|
||||
cmExecutionStatus& status) -> bool {
|
||||
cmMakefile& mf = status.GetMakefile();
|
||||
switch (mf.GetPolicyStatus(policy)) {
|
||||
case cmPolicies::WARN:
|
||||
mf.IssueMessage(MessageType::AUTHOR_WARNING,
|
||||
cmPolicies::GetPolicyWarning(policy));
|
||||
case cmPolicies::WARN: {
|
||||
std::string warning = cmPolicies::GetPolicyWarning(policy);
|
||||
if (additionalWarning) {
|
||||
warning = cmStrCat(warning, '\n', additionalWarning);
|
||||
}
|
||||
mf.IssueMessage(MessageType::AUTHOR_WARNING, warning);
|
||||
}
|
||||
CM_FALLTHROUGH;
|
||||
case cmPolicies::OLD:
|
||||
break;
|
||||
|
||||
@@ -183,7 +183,8 @@ public:
|
||||
void AddFlowControlCommand(std::string const& name, Command command);
|
||||
void AddFlowControlCommand(std::string const& name, BuiltinCommand command);
|
||||
void AddDisallowedCommand(std::string const& name, BuiltinCommand command,
|
||||
cmPolicies::PolicyID policy, const char* message);
|
||||
cmPolicies::PolicyID policy, const char* message,
|
||||
const char* additionalWarning = nullptr);
|
||||
void AddUnexpectedCommand(std::string const& name, const char* error);
|
||||
void AddUnexpectedFlowControlCommand(std::string const& name,
|
||||
const char* error);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
^CMake Error at [^
|
||||
]*/Tests/RunCMake/CMP0153/CMP0153-NEW\.cmake:[0-9]+ \(exec_program\):
|
||||
The exec_program command should not be called; see CMP0153\.$
|
||||
The exec_program command should not be called; see CMP0153\. Use
|
||||
execute_process\(\) instead\.$
|
||||
|
||||
@@ -3,4 +3,6 @@
|
||||
Policy CMP0153 is not set: The exec_program command should not be called\.
|
||||
Run "cmake --help-policy CMP0153" for policy details\. Use the cmake_policy
|
||||
command to set the policy and suppress this warning\.
|
||||
|
||||
Use execute_process\(\) instead\.
|
||||
This warning is for project developers\. Use -Wno-dev to suppress it\.$
|
||||
|
||||
Reference in New Issue
Block a user