/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #pragma once #include #include enum class LookupMethod { ByName, IncludeAngle, IncludeQuote, }; struct cmSourceReqInfo { std::string LogicalName; std::string SourcePath; std::string CompiledModulePath; bool UseSourcePath = false; // Provides-only fields. bool IsInterface = true; // Requires-only fields. LookupMethod Method = LookupMethod::ByName; }; struct cmScanDepInfo { std::string PrimaryOutput; std::vector ExtraOutputs; // Set of provided and required modules. std::vector Provides; std::vector Requires; }; bool cmScanDepFormat_P1689_Parse(std::string const& arg_pp, cmScanDepInfo* info); bool cmScanDepFormat_P1689_Write(std::string const& path, cmScanDepInfo const& info);