You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
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<std::string> ExtraOutputs;
|
|
|
|
|
|
|
|
// Set of provided and required modules.
|
|
|
|
std::vector<cmSourceReqInfo> Provides;
|
|
|
|
std::vector<cmSourceReqInfo> Requires;
|
|
|
|
};
|
|
|
|
|
|
|
|
bool cmScanDepFormat_P1689_Parse(std::string const& arg_pp,
|
|
|
|
cmScanDepInfo* info);
|
|
|
|
bool cmScanDepFormat_P1689_Write(std::string const& path,
|
|
|
|
cmScanDepInfo const& info);
|