CMake/Source/cmSetDirectoryPropertiesCommand.cxx
Kitware Robot 1772622772 LICENSE: Replace references to Copyright.txt with LICENSE.rst
```
git grep -lz 'Copyright.txt or https://cmake.org/licensing ' |
  while IFS= read -r -d $'\0' f ; do
    sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / {
              s/Copyright.txt/LICENSE.rst/
            }' "$f" ; done
```
2025-03-03 10:43:35 -05:00

40 lines
1.1 KiB
C++

/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file LICENSE.rst or https://cmake.org/licensing for details. */
#include "cmSetDirectoryPropertiesCommand.h"
#include "cmExecutionStatus.h"
#include "cmMakefile.h"
// cmSetDirectoryPropertiesCommand
bool cmSetDirectoryPropertiesCommand(std::vector<std::string> const& args,
cmExecutionStatus& status)
{
if (args.empty()) {
status.SetError("called with incorrect number of arguments");
return false;
}
// PROPERTIES followed by prop value pairs
if (args.size() % 2 != 1) {
status.SetError("Wrong number of arguments");
return false;
}
for (auto iter = args.begin() + 1; iter != args.end(); iter += 2) {
std::string const& prop = *iter;
if (prop == "VARIABLES") {
status.SetError(
"Variables and cache variables should be set using SET command");
return false;
}
if (prop == "MACROS") {
status.SetError(
"Commands and macros cannot be set using SET_CMAKE_PROPERTIES");
return false;
}
status.GetMakefile().SetProperty(prop, *(iter + 1));
}
return true;
}