CPGen
C++ project generator
Loading...
Searching...
No Matches
ProjectResolver.hpp
Go to the documentation of this file.
1#pragma once
2
14#include "CPGen/Core/Config.hpp"
17#include <memory>
18
29public:
36
52
53private:
67 static ResolvedTarget buildTarget(const TargetInjection &injection,
68 const ProjectConfig &config);
69
70 std::unique_ptr<ModuleResolver>
71 m_module_resolver;
72};
73
Project configuration types produced by the CLI and consumed by the resolvers.
Looks up module JSON definitions on the filesystem and parses them.
Output types produced by the resolver pipeline.
Converts a ProjectConfig into a fully resolved ResolvedProject.
Definition ProjectResolver.hpp:28
ResolvedProject resolve(const ProjectConfig &config)
Run the full resolution pipeline for config.
Definition ProjectResolver.cpp:12
ProjectResolver()
Construct a ProjectResolver with a default ModuleResolver.
Definition ProjectResolver.cpp:9
Fully parsed project configuration produced by CLI::parse.
Definition Config.hpp:59
Aggregated output of the full resolver pipeline.
Definition Resolved.hpp:105
A build target after module injections have been applied.
Definition Resolved.hpp:64
Describes the CMake snippets that a module contributes to a target.
Definition Resolved.hpp:26