summaryrefslogtreecommitdiffstats
path: root/bootstrap
diff options
context:
space:
mode:
authorMatthew Woehlke <matthew.woehlke@kitware.com>2024-07-18 16:07:26 (GMT)
committerMatthew Woehlke <matthew.woehlke@kitware.com>2024-07-23 16:13:39 (GMT)
commit20fa4ce8d89369441dc4f8a74d62611e8dfa36ea (patch)
tree6c23718e1cb92ad7003f2157dd233bbc7333c5e6 /bootstrap
parent6c66340a647fc7fa59e3f63e9344c05d3e760bfb (diff)
downloadCMake-20fa4ce8d89369441dc4f8a74d62611e8dfa36ea.zip
CMake-20fa4ce8d89369441dc4f8a74d62611e8dfa36ea.tar.gz
CMake-20fa4ce8d89369441dc4f8a74d62611e8dfa36ea.tar.bz2
export: Factor out CMake-specific export generation (2/2)
In order to support generation of Common Package Specifications, the mechanisms CMake uses to export package information need to be made more abstract. The prior commits began this refactoring; this continues by (actually) restructuring the classes used to generate the actual export files. To minimize churn, this introduces virtual base classes and diamond inheritance in order to separate logic which is format-agnostic but depends on the export mode (build-tree versus install-tree) from logic which is format-specific but mode-agnostic. This could probably be refactored further to use helper classes instead, and a future commit may do that, however an initial attempt to do that was proving even more invasive, such that this approach was deemed more manageable. While we're at it, add 'const' in more places where possible.
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap3
1 files changed, 3 insertions, 0 deletions
diff --git a/bootstrap b/bootstrap
index 241f44b..682cca0 100755
--- a/bootstrap
+++ b/bootstrap
@@ -345,8 +345,11 @@ CMAKE_CXX_SOURCES="\
cmExecuteProcessCommand \
cmExpandedCommandArgument \
cmExperimental \
+ cmExportBuildCMakeConfigGenerator \
cmExportBuildFileGenerator \
+ cmExportCMakeConfigGenerator \
cmExportFileGenerator \
+ cmExportInstallCMakeConfigGenerator \
cmExportInstallFileGenerator \
cmExportSet \
cmExportTryCompileFileGenerator \