|
|
@@ -2,31 +2,37 @@
|
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
|
#include "cmSetDirectoryPropertiesCommand.h"
|
|
|
|
|
|
+#include "cmExecutionStatus.h"
|
|
|
#include "cmMakefile.h"
|
|
|
|
|
|
-class cmExecutionStatus;
|
|
|
+namespace {
|
|
|
+bool RunCommand(cmMakefile& mf, std::vector<std::string>::const_iterator ait,
|
|
|
+ std::vector<std::string>::const_iterator aitend,
|
|
|
+ std::string& errors);
|
|
|
+}
|
|
|
|
|
|
// cmSetDirectoryPropertiesCommand
|
|
|
-bool cmSetDirectoryPropertiesCommand::InitialPass(
|
|
|
- std::vector<std::string> const& args, cmExecutionStatus&)
|
|
|
+bool cmSetDirectoryPropertiesCommand(std::vector<std::string> const& args,
|
|
|
+ cmExecutionStatus& status)
|
|
|
{
|
|
|
if (args.empty()) {
|
|
|
- this->SetError("called with incorrect number of arguments");
|
|
|
+ status.SetError("called with incorrect number of arguments");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
std::string errors;
|
|
|
- bool ret = cmSetDirectoryPropertiesCommand::RunCommand(
|
|
|
- this->Makefile, args.begin() + 1, args.end(), errors);
|
|
|
+ bool ret =
|
|
|
+ RunCommand(status.GetMakefile(), args.begin() + 1, args.end(), errors);
|
|
|
if (!ret) {
|
|
|
- this->SetError(errors);
|
|
|
+ status.SetError(errors);
|
|
|
}
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-bool cmSetDirectoryPropertiesCommand::RunCommand(
|
|
|
- cmMakefile* mf, std::vector<std::string>::const_iterator ait,
|
|
|
- std::vector<std::string>::const_iterator aitend, std::string& errors)
|
|
|
+namespace {
|
|
|
+bool RunCommand(cmMakefile& mf, std::vector<std::string>::const_iterator ait,
|
|
|
+ std::vector<std::string>::const_iterator aitend,
|
|
|
+ std::string& errors)
|
|
|
{
|
|
|
for (; ait != aitend; ait += 2) {
|
|
|
if (ait + 1 == aitend) {
|
|
|
@@ -43,8 +49,9 @@ bool cmSetDirectoryPropertiesCommand::RunCommand(
|
|
|
errors = "Commands and macros cannot be set using SET_CMAKE_PROPERTIES";
|
|
|
return false;
|
|
|
}
|
|
|
- mf->SetProperty(prop, value.c_str());
|
|
|
+ mf.SetProperty(prop, value.c_str());
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
+}
|