From 5b23d8a7b1e913df8261895f77a2140199a0b812 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 11 Jan 2021 10:07:27 -0500 Subject: cmInstallFilesGenerator: Factor out method to get list of files --- Source/cmInstallFilesGenerator.cxx | 22 +++++++++++++++++----- Source/cmInstallFilesGenerator.h | 2 ++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Source/cmInstallFilesGenerator.cxx b/Source/cmInstallFilesGenerator.cxx index 0a353e4..1d816b7 100644 --- a/Source/cmInstallFilesGenerator.cxx +++ b/Source/cmInstallFilesGenerator.cxx @@ -66,6 +66,22 @@ std::string cmInstallFilesGenerator::GetRename(std::string const& config) const config); } +std::vector cmInstallFilesGenerator::GetFiles( + std::string const& config) const +{ + std::vector files; + if (this->ActionsPerConfig) { + for (std::string const& f : this->Files) { + cmExpandList( + cmGeneratorExpression::Evaluate(f, this->LocalGenerator, config), + files); + } + } else { + files = this->Files; + } + return files; +} + void cmInstallFilesGenerator::AddFilesInstallRule( std::ostream& os, std::string const& config, Indent indent, std::vector const& files) @@ -92,10 +108,6 @@ void cmInstallFilesGenerator::GenerateScriptActions(std::ostream& os, void cmInstallFilesGenerator::GenerateScriptForConfig( std::ostream& os, const std::string& config, Indent indent) { - std::vector files; - for (std::string const& f : this->Files) { - cmExpandList( - cmGeneratorExpression::Evaluate(f, this->LocalGenerator, config), files); - } + std::vector files = this->GetFiles(config); this->AddFilesInstallRule(os, config, indent, files); } diff --git a/Source/cmInstallFilesGenerator.h b/Source/cmInstallFilesGenerator.h index 66145f4..7438440 100644 --- a/Source/cmInstallFilesGenerator.h +++ b/Source/cmInstallFilesGenerator.h @@ -32,6 +32,8 @@ public: std::string GetDestination(std::string const& config) const; std::string GetRename(std::string const& config) const; + std::vector GetFiles(std::string const& config) const; + bool GetOptional() const { return this->Optional; } protected: void GenerateScriptActions(std::ostream& os, Indent indent) override; -- cgit v0.12