summaryrefslogtreecommitdiffstats
path: root/Source/cmExportFileGenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmExportFileGenerator.h')
-rw-r--r--Source/cmExportFileGenerator.h49
1 files changed, 21 insertions, 28 deletions
diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h
index d50f7e8..d27a555 100644
--- a/Source/cmExportFileGenerator.h
+++ b/Source/cmExportFileGenerator.h
@@ -17,6 +17,7 @@
class cmFileSet;
class cmGeneratorTarget;
+class cmLocalGenerator;
class cmTargetExport;
#define STRINGIFY_HELPER(X) #X
@@ -65,8 +66,7 @@ protected:
// Generate per-configuration target information to the given output
// stream.
- void GenerateImportConfig(std::ostream& os, const std::string& config,
- std::vector<std::string>& missingTargets);
+ void GenerateImportConfig(std::ostream& os, const std::string& config);
// Methods to implement export file code generation.
virtual void GeneratePolicyHeaderCode(std::ostream& os);
@@ -87,8 +87,7 @@ protected:
ImportPropertyMap const& properties,
const std::set<std::string>& importedLocations);
virtual void GenerateImportedFileCheckLoop(std::ostream& os);
- virtual void GenerateMissingTargetsCheckCode(
- std::ostream& os, const std::vector<std::string>& missingTargets);
+ virtual void GenerateMissingTargetsCheckCode(std::ostream& os);
virtual void GenerateExpectedTargetsCode(std::ostream& os,
const std::string& expectedTargets);
@@ -98,8 +97,7 @@ protected:
void SetImportDetailProperties(const std::string& config,
std::string const& suffix,
cmGeneratorTarget* target,
- ImportPropertyMap& properties,
- std::vector<std::string>& missingTargets);
+ ImportPropertyMap& properties);
enum class ImportLinkPropertyTargetNames
{
@@ -112,31 +110,28 @@ protected:
const std::string& propName,
std::vector<T> const& entries,
ImportPropertyMap& properties,
- std::vector<std::string>& missingTargets,
ImportLinkPropertyTargetNames targetNames);
/** Each subclass knows how to generate its kind of export file. */
virtual bool GenerateMainFile(std::ostream& os) = 0;
/** Each subclass knows where the target files are located. */
- virtual void GenerateImportTargetsConfig(
- std::ostream& os, const std::string& config, std::string const& suffix,
- std::vector<std::string>& missingTargets) = 0;
+ virtual void GenerateImportTargetsConfig(std::ostream& os,
+ const std::string& config,
+ std::string const& suffix) = 0;
/** Each subclass knows how to deal with a target that is missing from an
* export set. */
virtual void HandleMissingTarget(std::string& link_libs,
- std::vector<std::string>& missingTargets,
cmGeneratorTarget const* depender,
cmGeneratorTarget* dependee) = 0;
void PopulateInterfaceProperty(const std::string&,
cmGeneratorTarget const* target,
cmGeneratorExpression::PreprocessContext,
- ImportPropertyMap& properties,
- std::vector<std::string>& missingTargets);
+ ImportPropertyMap& properties);
bool PopulateInterfaceLinkLibrariesProperty(
cmGeneratorTarget const* target, cmGeneratorExpression::PreprocessContext,
- ImportPropertyMap& properties, std::vector<std::string>& missingTargets);
+ ImportPropertyMap& properties);
void PopulateInterfaceProperty(const std::string& propName,
cmGeneratorTarget const* target,
ImportPropertyMap& properties);
@@ -148,26 +143,24 @@ protected:
void PopulateIncludeDirectoriesInterface(
cmGeneratorTarget const* target,
cmGeneratorExpression::PreprocessContext preprocessRule,
- ImportPropertyMap& properties, std::vector<std::string>& missingTargets,
- cmTargetExport const& te);
+ ImportPropertyMap& properties, cmTargetExport const& te);
void PopulateSourcesInterface(
cmGeneratorTarget const* target,
cmGeneratorExpression::PreprocessContext preprocessRule,
- ImportPropertyMap& properties, std::vector<std::string>& missingTargets);
+ ImportPropertyMap& properties);
void PopulateLinkDirectoriesInterface(
cmGeneratorTarget const* target,
cmGeneratorExpression::PreprocessContext preprocessRule,
- ImportPropertyMap& properties, std::vector<std::string>& missingTargets);
+ ImportPropertyMap& properties);
void PopulateLinkDependsInterface(
cmGeneratorTarget const* target,
cmGeneratorExpression::PreprocessContext preprocessRule,
- ImportPropertyMap& properties, std::vector<std::string>& missingTargets);
+ ImportPropertyMap& properties);
void SetImportLinkInterface(
const std::string& config, std::string const& suffix,
cmGeneratorExpression::PreprocessContext preprocessRule,
- cmGeneratorTarget const* target, ImportPropertyMap& properties,
- std::vector<std::string>& missingTargets);
+ cmGeneratorTarget const* target, ImportPropertyMap& properties);
enum FreeTargetsReplace
{
@@ -177,7 +170,6 @@ protected:
void ResolveTargetsInGeneratorExpressions(
std::string& input, cmGeneratorTarget const* target,
- std::vector<std::string>& missingTargets,
FreeTargetsReplace replace = NoReplaceFreeTargets);
virtual void GenerateRequiredCMakeVersion(std::ostream& os,
@@ -215,19 +207,20 @@ protected:
// The set of targets included in the export.
std::set<cmGeneratorTarget*> ExportedTargets;
+ std::vector<std::string> MissingTargets;
+
private:
void PopulateInterfaceProperty(const std::string&, const std::string&,
cmGeneratorTarget const* target,
cmGeneratorExpression::PreprocessContext,
- ImportPropertyMap& properties,
- std::vector<std::string>& missingTargets);
+ ImportPropertyMap& properties);
bool AddTargetNamespace(std::string& input, cmGeneratorTarget const* target,
- std::vector<std::string>& missingTargets);
+ cmLocalGenerator const* lg);
- void ResolveTargetsInGeneratorExpression(
- std::string& input, cmGeneratorTarget const* target,
- std::vector<std::string>& missingTargets);
+ void ResolveTargetsInGeneratorExpression(std::string& input,
+ cmGeneratorTarget const* target,
+ cmLocalGenerator const* lg);
virtual void ReplaceInstallPrefix(std::string& input);