swh:1:snp:a6330e89b35f0959a588079a2c4dc65f44d6e08a
Revision 20fa4ce8d89369441dc4f8a74d62611e8dfa36ea authored by Matthew Woehlke on 18 July 2024, 16:07:26 UTC, committed by Matthew Woehlke on 23 July 2024, 16:13:39 UTC
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.
1 parent 6c66340
History
Tip revision: aa6b2180bf9926e62641871908ae059c19ddb3a3 authored by Kitware Robot on 07 August 2024, 04:01:18 UTC
CMake Nightly Date Stamp
Tip revision: aa6b218
File Mode Size
.github
.gitlab
Auxiliary
Help
Licenses
Modules
Packaging
Source
Templates
Tests
Utilities
.clang-format -rw-r--r-- 1.4 KB
.clang-tidy -rw-r--r-- 2.5 KB
.codespellrc -rw-r--r-- 644 bytes
.editorconfig -rw-r--r-- 164 bytes
.gitattributes -rw-r--r-- 1.2 KB
.gitignore -rw-r--r-- 549 bytes
.gitlab-ci.yml -rw-r--r-- 36.4 KB
.hooks-config -rw-r--r-- 418 bytes
CMakeCPack.cmake -rw-r--r-- 9.8 KB
CMakeCPackOptions.cmake.in -rw-r--r-- 11.9 KB
CMakeGraphVizOptions.cmake -rw-r--r-- 153 bytes
CMakeLists.txt -rw-r--r-- 21.5 KB
CMakeLogo.gif -rw-r--r-- 4.4 KB
CONTRIBUTING.rst -rw-r--r-- 3.2 KB
CTestConfig.cmake -rw-r--r-- 566 bytes
CTestCustom.cmake.in -rw-r--r-- 7.5 KB
CompileFlags.cmake -rw-r--r-- 5.0 KB
Copyright.txt -rw-r--r-- 5.3 KB
DartConfig.cmake -rw-r--r-- 374 bytes
README.rst -rw-r--r-- 3.9 KB
bootstrap -rwxr-xr-x 65.5 KB
cmake_uninstall.cmake.in -rw-r--r-- 794 bytes
configure -rwxr-xr-x 99 bytes

README.rst

back to top