/src/CMake/Source/cmCPackPropertiesGenerator.cxx
Line | Count | Source |
1 | | #include "cmCPackPropertiesGenerator.h" |
2 | | |
3 | | #include <map> |
4 | | #include <memory> |
5 | | #include <ostream> |
6 | | |
7 | | #include "cmGeneratorExpression.h" |
8 | | #include "cmInstalledFile.h" |
9 | | |
10 | | cmCPackPropertiesGenerator::cmCPackPropertiesGenerator( |
11 | | cmLocalGenerator* lg, cmInstalledFile const& installedFile, |
12 | | std::vector<std::string> const& configurations) |
13 | 0 | : cmScriptGenerator("CPACK_BUILD_CONFIG", configurations) |
14 | 0 | , LG(lg) |
15 | 0 | , InstalledFile(installedFile) |
16 | 0 | { |
17 | 0 | this->ActionsPerConfig = true; |
18 | 0 | } |
19 | | |
20 | | void cmCPackPropertiesGenerator::GenerateScriptForConfig( |
21 | | std::ostream& os, std::string const& config, Indent indent) |
22 | 0 | { |
23 | 0 | std::string const& expandedFileName = |
24 | 0 | this->InstalledFile.GetNameExpression().Evaluate(this->LG, config); |
25 | |
|
26 | 0 | cmInstalledFile::PropertyMapType const& properties = |
27 | 0 | this->InstalledFile.GetProperties(); |
28 | |
|
29 | 0 | for (cmInstalledFile::PropertyMapType::value_type const& i : properties) { |
30 | 0 | std::string const& name = i.first; |
31 | 0 | cmInstalledFile::Property const& property = i.second; |
32 | |
|
33 | 0 | os << indent << "set_property(INSTALL " |
34 | 0 | << cmScriptGenerator::Quote(expandedFileName) << " PROPERTY " |
35 | 0 | << cmScriptGenerator::Quote(name); |
36 | |
|
37 | 0 | for (auto const& j : property.ValueExpressions) { |
38 | 0 | os << ' ' << cmScriptGenerator::Quote(j->Evaluate(this->LG, config)); |
39 | 0 | } |
40 | |
|
41 | 0 | os << ")\n"; |
42 | 0 | } |
43 | 0 | } |