| 123456789101112131415161718192021222324252627282930313233343536 |
- /* 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 <map>
- #include <string>
- #include <vector>
- struct ImportedCxxModuleInfo
- {
- std::string const Name;
- std::vector<std::string> const AvailableBmis;
- };
- struct ImportedCxxModuleGeneratorInfo
- {
- std::string const BmiName;
- };
- struct ImportedCxxModuleLookup
- {
- ImportedCxxModuleLookup() = default;
- ~ImportedCxxModuleLookup() = default;
- bool Initialized() const;
- void Initialize(std::string const& importedModules);
- std::string BmiNameForSource(std::string const& path);
- private:
- bool DoneInit = false;
- std::map<std::string, ImportedCxxModuleInfo> ImportedInfo;
- std::map<std::string, ImportedCxxModuleGeneratorInfo> GeneratorInfo;
- };
|