Binary formula¶
SHA1(toolchain.info)
+ SHA1(archive with sources)
+ SHA1(args.cmake)
+ SHA1(types.info)
+ SHA1(internal_deps.id)
+ SHA1(deps.info)
= cache.sha1
In terms of cache:
Toolchain-ID
+ Archive-ID
+ Args-ID
+ Types-ID
+ Internal-Deps-ID
+ Deps-ID
= SHA1 of binaries
Note
*-ID checked for collision, see
Layout common.
Hunter-ID¶
See also
Version -> SHA1 mapping: Config-ID can have only VERSION, SHA1
of sources will be taken from hunter.cmake.
I.e. Hunter-ID + Config-ID -> Archive-ID.
hunter.cmake can contain default CMake arguments for a package. Resulting
arguments will be created by merging default arguments from hunter.cmake
(low priority) and user arguments from Config-ID (high priority). I.e.
Hunter-ID + Config-ID -> Args-ID.
hunter.cmake can contain default configuration types
(Release/Debug/etc.) for a package. Resulting configuration types will
be created by analyzing HUNTER_CONFIGURATION_TYPES (low priority), default
configuration types from hunter.cmake (high priority) and user configuration
types from Config-ID (highest priority). I.e.
Hunter-ID + Toolchain-ID + Config-ID -> Types-ID.
See also
hunter.cmake can contain
PACKAGE_INTERNAL_DEPS_ID.
This variable used only for custom non-CMake build schemes:
Hunter-ID -> Internal-Deps-ID.
Toolchain-ID¶
See also
Global settings for all packages, no package specific information saved here.
Created by analyzing an output of compilation of C++ file
ShowPredefined.cpp
(created from
list).
We get unified information about compiler, compiler version, compiler
flags, etc. (everything from user’s CMAKE_TOOLCHAIN_FILE).
Additionally next global variables saved there too:
IPHONEOS_ARCHS(Polly toolchains)IPHONESIMULATOR_ARCHS(Polly toolchains)CMAKE_GENERATORHUNTER_CONFIGURATION_TYPESHUNTER_TOOLCHAIN_UNDETECTABLE_IDHUNTER_BUILD_SHARED_LIBSOSX_SDK_VERSION(Polly toolchains)
Config-ID¶
Package specific information saved here. Created by merging file with
hunter_default_version commands
and user’s config.cmake with hunter_config commands (if present).
Result is automatically generated config.cmake file with
hunter_final_config command. First 7 digits of SHA1 of config.cmake
forms Config-ID. Used while calculating Archive-ID, Args-ID,
Types-ID (see above).