FindHDF5
Find HDF5, библиотека для чтения и записи данных массивов с самоописанием.
Этот модуль вызывает компилятор оболочки HDF5, который должен быть установлен вместе с HDF5. В зависимости от конфигурации HDF5, компилятор оболочки называется либо h5cc, либо h5pcc. Если это успешно, модуль затем вызовет компилятор с аргументом -show, чтобы увидеть, какие флаги используются при компиляции приложения клиента HDF5.
Модуль может принять аргумент COMPONENTS. Если COMPONENTS не указан, то модуль поиска по умолчанию будет искать только библиотеку C HDF5. Если указан один или несколько COMPONENTS, модуль попытается найти языковые интерфейсы для указанных компонентов. Единственные допустимые компоненты — C, CXX, Fortran, HL и Fortran_HL. Если аргумент COMPONENTS не указан, модуль попытается найти только интерфейсы C.
Этот модуль будет читать переменную HDF5_USE_STATIC_LIBRARIES, чтобы определить, следует ли предпочитать статическую ссылку динамической ссылке для HDF5 и всех его зависимостей. Чтобы использовать эту функцию, убедитесь, что переменная HDF5_USE_STATIC_LIBRARIES установлена перед вызовом find_package.
Чтобы указать модулю подсказку о том, где найти установку HDF5, можно установить переменную среды HDF5_ROOT. Модуль поиска затем будет искать по этому пути при поиске исполняемых файлов, путей и библиотек HDF5.
Рассматриваются как последовательные, так и параллельные оболочки HDF5, и будет использован первый каталог, содержащий любую из них. В случае, если оба появляются в одном каталоге, предпочтительнее выбирается последовательная версия. Это поведение можно изменить, установив переменную HDF5_PREFER_PARALLEL в значение true.
Помимо поиска заголовков и библиотек, необходимых для компиляции приложения клиента HDF5, этот модуль также пытается найти инструменты, которые поставляются с дистрибутивом HDF5 и могут быть полезны для регрессионного тестирования.
Этот модуль определит следующие переменные:
HDF5_FOUND - true if HDF5 was found on the system
HDF5_VERSION - HDF5 version in format Major.Minor.Release
HDF5_INCLUDE_DIRS - Location of the hdf5 includes
HDF5_INCLUDE_DIR - Location of the hdf5 includes (deprecated)
HDF5_DEFINITIONS - Required compiler definitions for HDF5
HDF5_LIBRARIES - Required libraries for all requested bindings
HDF5_HL_LIBRARIES - Required libraries for the HDF5 high level API for all
bindings, if the HL component is enabled
Доступные компоненты: C, CXX, Fortran и HL. Для каждого включённого языкового интерфейса будет определена соответствующая переменная HDF5_${LANG}_LIBRARIES, а также потенциально HDF5_${LANG}_DEFINITIONS. Если компонент HL включён, то также будет определена переменная HDF5_${LANG}_HL_LIBRARIES. При включении всех компонентов будут определены следующие переменные:
HDF5_C_DEFINITIONS -- Required compiler definitions for HDF5 C bindings
HDF5_CXX_DEFINITIONS -- Required compiler definitions for HDF5 C++ bindings
HDF5_Fortran_DEFINITIONS -- Required compiler definitions for HDF5 Fortran bindings
HDF5_C_INCLUDE_DIRS -- Required include directories for HDF5 C bindings
HDF5_CXX_INCLUDE_DIRS -- Required include directories for HDF5 C++ bindings
HDF5_Fortran_INCLUDE_DIRS -- Required include directories for HDF5 Fortran bindings
HDF5_C_LIBRARIES - Required libraries for the HDF5 C bindings
HDF5_CXX_LIBRARIES - Required libraries for the HDF5 C++ bindings
HDF5_Fortran_LIBRARIES - Required libraries for the HDF5 Fortran bindings
HDF5_C_HL_LIBRARIES - Required libraries for the high level C bindings
HDF5_CXX_HL_LIBRARIES - Required libraries for the high level C++ bindings
HDF5_Fortran_HL_LIBRARIES - Required libraries for the high level Fortran
bindings.
HDF5_IS_PARALLEL - Whether or not HDF5 was found with parallel IO support
HDF5_C_COMPILER_EXECUTABLE - the path to the HDF5 C wrapper compiler
HDF5_CXX_COMPILER_EXECUTABLE - the path to the HDF5 C++ wrapper compiler
HDF5_Fortran_COMPILER_EXECUTABLE - the path to the HDF5 Fortran wrapper compiler
HDF5_C_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary C compiler
which is also the HDF5 wrapper
HDF5_CXX_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary C++
compiler which is also
the HDF5 wrapper
HDF5_Fortran_COMPILER_EXECUTABLE_NO_INTERROGATE - path to the primary
Fortran compiler which
is also the HDF5 wrapper
HDF5_DIFF_EXECUTABLE - the path to the HDF5 dataset comparison tool
Следующая переменная может быть установлена для управления поиском библиотек и заголовков HDF5:
-
HDF5_ROOT - Указывает путь к используемой установке HDF5.
-
HDF5_FIND_DEBUG - Устанавливается в значение true, чтобы получить дополнительные отладочные данные.
-
HDF5_NO_FIND_PACKAGE_CONFIG_FILE - Устанавливается в значение true, чтобы пропустить попытки поиска %%%CODE_BLOCK_5%%.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.11/module/FindHDF5.html