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_GENERATOR
HUNTER_CONFIGURATION_TYPES
HUNTER_TOOLCHAIN_UNDETECTABLE_ID
HUNTER_BUILD_SHARED_LIBS
OSX_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).