| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| file Copyright.txt or https://cmake.org/licensing for details. */ |
| #pragma once |
| |
| #include "cmConfigure.h" // IWYU pragma: keep |
| |
| #include <string> |
| #include <vector> |
| |
| class cmMakefile; |
| class cmExecutionStatus; |
| |
| bool cmSetPropertyCommand(std::vector<std::string> const& args, |
| cmExecutionStatus& status); |
| |
| namespace SetPropertyCommand { |
| bool HandleSourceFileDirectoryScopes( |
| cmExecutionStatus& status, std::vector<std::string>& source_file_directories, |
| std::vector<std::string>& source_file_target_directories, |
| std::vector<cmMakefile*>& directory_makefiles); |
| |
| bool HandleSourceFileDirectoryScopeValidation( |
| cmExecutionStatus& status, bool source_file_directory_option_enabled, |
| bool source_file_target_option_enabled, |
| std::vector<std::string>& source_file_directories, |
| std::vector<std::string>& source_file_target_directories); |
| |
| bool HandleAndValidateSourceFileDirectortoryScopes( |
| cmExecutionStatus& status, bool source_directories_option_encountered, |
| bool source_target_directories_option_encountered, |
| std::vector<std::string>& source_directories, |
| std::vector<std::string>& source_target_directories, |
| std::vector<cmMakefile*>& source_file_directory_makefiles); |
| |
| std::string MakeSourceFilePathAbsoluteIfNeeded( |
| cmExecutionStatus& status, const std::string& source_file_path, bool needed); |
| void MakeSourceFilePathsAbsoluteIfNeeded( |
| cmExecutionStatus& status, |
| std::vector<std::string>& source_files_absolute_paths, |
| std::vector<std::string>::const_iterator files_it_begin, |
| std::vector<std::string>::const_iterator files_it_end, bool needed); |
| } |