FindHDF5
Поиск HDF5, библиотеки для чтения и записи данных массивов с самоопределяющейся структурой.
Этот модуль вызывает компилятор оболочки HDF5, который должен быть установлен вместе с HDF5. В зависимости от конфигурации HDF5, компилятор оболочки называется либо h5cc, либо h5pcc. Если это удается, модуль затем вызовет компилятор со значением аргумента -show, чтобы увидеть, какие флаги используются при компиляции приложения-клиента HDF5.
Модуль может принять необязательный аргумент COMPONENTS. Если COMPONENTS не указан, модуль по умолчанию ищет только библиотеку HDF5 C. Если указан один или несколько компонентов 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, чтобы пропустить попытку поиска
hdf5-config.cmake.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.12/module/FindHDF5.html