install: Teach CODE,SCRIPT modes to evaluate generator expressions

Fixes: #15785
This commit is contained in:
Jon Chronopoulos
2018-05-29 21:37:26 +10:00
committed by Brad King
parent acaaca968c
commit 6dad812143
10 changed files with 77 additions and 14 deletions

View File

@@ -6,10 +6,13 @@
#include "cmConfigure.h" // IWYU pragma: keep
#include "cmInstallGenerator.h"
#include "cmScriptGenerator.h"
#include <iosfwd>
#include <string>
class cmLocalGenerator;
/** \class cmInstallScriptGenerator
* \brief Generate target installation rules.
*/
@@ -20,10 +23,18 @@ public:
const char* component, bool exclude_from_all);
~cmInstallScriptGenerator() override;
void Compute(cmLocalGenerator* lg) override;
protected:
void GenerateScript(std::ostream& os) override;
void GenerateScriptActions(std::ostream& os, Indent indent) override;
void GenerateScriptForConfig(std::ostream& os, const std::string& config,
Indent indent) override;
void AddScriptInstallRule(std::ostream& os, Indent indent,
std::string const& script);
std::string Script;
bool Code;
cmLocalGenerator* LocalGenerator;
};
#endif