summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/FindProtobuf.cmake6
-rw-r--r--Source/cmCommands.cxx8
-rw-r--r--Source/cmState.cxx18
-rw-r--r--Source/cmState.h3
-rw-r--r--Tests/RunCMake/CMP0153/CMP0153-NEW-stderr.txt3
-rw-r--r--Tests/RunCMake/CMP0153/CMP0153-WARN-stderr.txt2
6 files changed, 25 insertions, 15 deletions
diff --git a/Modules/FindProtobuf.cmake b/Modules/FindProtobuf.cmake
index 008b537..a7ee0c4 100644
--- a/Modules/FindProtobuf.cmake
+++ b/Modules/FindProtobuf.cmake
@@ -299,6 +299,8 @@ function(protobuf_generate)
list(APPEND _protobuf_include_path -I ${_abs_dir})
endif()
endforeach()
+ else()
+ set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR})
endif()
foreach(DIR ${protobuf_generate_IMPORT_DIRS})
@@ -309,10 +311,6 @@ function(protobuf_generate)
endif()
endforeach()
- if(NOT _protobuf_include_path)
- set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR})
- endif()
-
set(_generated_srcs_all)
foreach(_proto ${protobuf_generate_PROTOS})
get_filename_component(_abs_file ${_proto} ABSOLUTE)
diff --git a/Source/cmCommands.cxx b/Source/cmCommands.cxx
index 2ee4f47..91f7691 100644
--- a/Source/cmCommands.cxx
+++ b/Source/cmCommands.cxx
@@ -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
}
diff --git a/Source/cmState.cxx b/Source/cmState.cxx
index d41e8e5..8ae2166 100644
--- a/Source/cmState.cxx
+++ b/Source/cmState.cxx
@@ -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;
diff --git a/Source/cmState.h b/Source/cmState.h
index b79f3e6..702b06f 100644
--- a/Source/cmState.h
+++ b/Source/cmState.h
@@ -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);
diff --git a/Tests/RunCMake/CMP0153/CMP0153-NEW-stderr.txt b/Tests/RunCMake/CMP0153/CMP0153-NEW-stderr.txt
index e24eee7..2b0a661 100644
--- a/Tests/RunCMake/CMP0153/CMP0153-NEW-stderr.txt
+++ b/Tests/RunCMake/CMP0153/CMP0153-NEW-stderr.txt
@@ -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\.$
diff --git a/Tests/RunCMake/CMP0153/CMP0153-WARN-stderr.txt b/Tests/RunCMake/CMP0153/CMP0153-WARN-stderr.txt
index 8f22d4e..d0b9422 100644
--- a/Tests/RunCMake/CMP0153/CMP0153-WARN-stderr.txt
+++ b/Tests/RunCMake/CMP0153/CMP0153-WARN-stderr.txt
@@ -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\.$