summaryrefslogtreecommitdiff
path: root/Source/cmInstallScriptGenerator.h
diff options
context:
space:
mode:
authorJon Chronopoulos <patches@crondog.com>2018-11-29 21:11:07 +1100
committerCraig Scott <craig.scott@crascit.com>2018-12-23 09:03:38 +1100
commit25cae1e85d501c463141388e4eb580bdfae6ed2f (patch)
tree5028fc6c22c526e2b67a4539b6d0a7b69747b17a /Source/cmInstallScriptGenerator.h
parentcb995ddea2d633310b270e99d020fe490fff5ec7 (diff)
downloadcmake-25cae1e85d501c463141388e4eb580bdfae6ed2f.tar.gz
install: Teach CODE,SCRIPT modes to evaluate generator expressions
This also introduces CMP0087 which will keep the OLD behaviour of not evaluating generator expressions Fixes: #15785
Diffstat (limited to 'Source/cmInstallScriptGenerator.h')
-rw-r--r--Source/cmInstallScriptGenerator.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmInstallScriptGenerator.h b/Source/cmInstallScriptGenerator.h
index fe0f7c6f11..05199d7907 100644
--- a/Source/cmInstallScriptGenerator.h
+++ b/Source/cmInstallScriptGenerator.h
@@ -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,19 @@ 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;
+ bool AllowGenex;
};
#endif