diff options
author | Craig Scott <craig.scott@crascit.com> | 2021-01-24 12:33:51 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2021-01-29 13:12:23 (GMT) |
commit | 23aab9ecce264b7ea198fc9d36f382a4bb4fbe28 (patch) | |
tree | 3bccfb53d21520072a4b49b624c1f9cb42ab67cc /Modules/SelectLibraryConfigurations.cmake | |
parent | 36bb0e32d7e3976eed424078cf5cac459651f0f1 (diff) | |
download | CMake-23aab9ecce264b7ea198fc9d36f382a4bb4fbe28.zip CMake-23aab9ecce264b7ea198fc9d36f382a4bb4fbe28.tar.gz CMake-23aab9ecce264b7ea198fc9d36f382a4bb4fbe28.tar.bz2 |
ExternalProject: Avoid scanning docs for keywords, use include_guard()
The previous implementation was scanning the documentation in
the file at runtime to determine the set of supported keywords for
each public function. This was fragile, made it difficult to restructure
the documentation and was sometimes observable in runtime
performance measurements. Change to a more conventional
approach where supported keywords are explicitly listed in the
code.
The internal _ExternalProject_SELF variable is no longer needed.
CMake now provides CMAKE_CURRENT_FUNCTION_LIST_DIR which
can be used for the same purpose and avoids having to set a
variable when the module is read. This also removes the
requirement that the module must be included by the current or a
parent scope. It is now enough that the module has been included
once somewhere before calling any of its functions.
The above changes combined mean that the module can now use
include_guard() and avoid having to re-parse the very long file every
time.
Diffstat (limited to 'Modules/SelectLibraryConfigurations.cmake')
0 files changed, 0 insertions, 0 deletions