/* 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 #include class cmMakefile; class cmExecutionStatus; bool cmSetPropertyCommand(std::vector const& args, cmExecutionStatus& status); namespace SetPropertyCommand { bool HandleSourceFileDirectoryScopes( cmExecutionStatus& status, std::vector& source_file_directories, std::vector& source_file_target_directories, std::vector& directory_makefiles); bool HandleSourceFileDirectoryScopeValidation( cmExecutionStatus& status, bool source_file_directory_option_enabled, bool source_file_target_option_enabled, std::vector& source_file_directories, std::vector& source_file_target_directories); bool HandleAndValidateSourceFileDirectortoryScopes( cmExecutionStatus& status, bool source_directories_option_encountered, bool source_target_directories_option_encountered, std::vector& source_directories, std::vector& source_target_directories, std::vector& source_file_directory_makefiles); std::string MakeSourceFilePathAbsoluteIfNeeded( cmExecutionStatus& status, const std::string& source_file_path, bool needed); void MakeSourceFilePathsAbsoluteIfNeeded( cmExecutionStatus& status, std::vector& source_files_absolute_paths, std::vector::const_iterator files_it_begin, std::vector::const_iterator files_it_end, bool needed); }