Spec-Zone.ru › CMake 3.29

FindHDF5

Поиск формата данных HDF5 (Hierarchical Data Format), библиотеки для чтения и записи данных массивов с описанием.

Этот модуль вызывает HDF5 оболочный компилятор, который должен быть установлен вместе с HDF5. В зависимости от HDF5 конфигурации, оболочный компилятор вызывается либо h5cc, либо h5pcc. Если это успешно, модуль затем вызовет компилятор с аргументом show, чтобы увидеть, какие флаги используются при компиляции приложения-клиента HDF5.

Модуль может необязательно принять аргумент COMPONENTS. Если не указаны COMPONENTS, то модуль find по умолчанию будет искать только библиотеку C HDF5. Если указан один или несколько COMPONENTS, модуль попытается найти языковые интерфейсы для указанных компонентов. Допустимые компоненты — C, CXX, Fortran, HL. HL относится к «высокоуровневым» функциям HDF5 для C и Fortran. Если не задан аргумент COMPONENTS, модуль попытается найти только C-интерфейсы. Например, чтобы использовать Fortran HDF5 и функции HDF5-HL, выполните: find_package(HDF5 COMPONENTS Fortran HL).

Этот модуль будет читать переменную HDF5_USE_STATIC_LIBRARIES, чтобы определить, предпочесть ли статическую или динамическую ссылку для HDF5 и всех его зависимостей. Чтобы использовать эту функцию, убедитесь, что переменная HDF5_USE_STATIC_LIBRARIES установлена перед вызовом find_package.

Новое в версии 3.10: Поддержка HDF5_USE_STATIC_LIBRARIES в Windows.

И последовательные, и параллельные HDF5 оболочки рассматриваются, и будет использоваться первый каталог, содержащий хотя бы одну из них. В случае, если обе оболочки находятся в одном каталоге, будет предпочтительно выбран последовательный вариант. Это поведение можно изменить, установив переменную HDF5_PREFER_PARALLEL в TRUE.

Помимо поиска включаемых файлов и библиотек, необходимых для компиляции приложения-клиента HDF5, этот модуль также пытается найти инструменты, которые входят в дистрибутив HDF5, которые могут быть полезны для регрессионного тестирования.

Переменные результатов

Этот модуль установит следующие переменные в вашем проекте:

HDF5_FOUND

HDF5 был найден в системе

HDF5_VERSION

Новое в версии 3.3: Версия библиотеки HDF5

HDF5_INCLUDE_DIRS

Расположение заголовочных файлов HDF5

HDF5_DEFINITIONS

Необходимые определения для компилятора HDF5

HDF5_LIBRARIES

Необходимые библиотеки для всех запрошенных интерфейсов

HDF5_HL_LIBRARIES

Необходимые библиотеки для высокоуровневого API HDF5 для всех интерфейсов, если включён компонент HL

Доступные компоненты: C CXX Fortran и HL. Для каждого включенного языкового интерфейса будет определена соответствующая переменная HDF5_${LANG}_LIBRARIES, а возможно и HDF5_${LANG}_DEFINITIONS. Если включён компонент HL, также будет определён HDF5_${LANG}_HL_LIBRARIES. При включении всех компонентов будут определены следующие переменные:

HDF5_C_DEFINITIONS

Необходимые определения для компилятора C-интерфейса HDF5

HDF5_CXX_DEFINITIONS

Необходимые определения для компилятора C++-интерфейса HDF5

HDF5_Fortran_DEFINITIONS

Необходимые определения для компилятора Fortran-интерфейса HDF5

HDF5_C_INCLUDE_DIRS

Необходимые каталоги заголовочных файлов для C-интерфейса HDF5

HDF5_CXX_INCLUDE_DIRS

Необходимые каталоги заголовочных файлов для C++-интерфейса HDF5

HDF5_Fortran_INCLUDE_DIRS

Необходимые каталоги заголовочных файлов для Fortran-интерфейса HDF5

HDF5_C_LIBRARIES

Необходимые библиотеки для C-интерфейса HDF5

HDF5_CXX_LIBRARIES

Необходимые библиотеки для C++-интерфейса HDF5

HDF5_Fortran_LIBRARIES

Необходимые библиотеки для Fortran-интерфейса HDF5

HDF5_C_HL_LIBRARIES

Необходимые библиотеки для высокоуровневого C-интерфейса

HDF5_CXX_HL_LIBRARIES

Необходимые библиотеки для высокоуровневого C++-интерфейса

HDF5_Fortran_HL_LIBRARIES

Необходимые библиотеки для высокоуровневого Fortran-интерфейса.

HDF5_IS_PARALLEL

Библиотека HDF5 поддерживает параллельный ввод/вывод

HDF5_C_COMPILER_EXECUTABLE

Путь к оболочному компилятору HDF5 C

HDF5_CXX_COMPILER_EXECUTABLE

Путь к оболочному компилятору HDF5 C++

HDF5_Fortran_COMPILER_EXECUTABLE

Путь к оболочному компилятору HDF5 Fortran

HDF5_C_COMPILER_EXECUTABLE_NO_INTERROGATE

Путь к основному компилятору C, который также является оболочным компилятором HDF5

HDF5_CXX_COMPILER_EXECUTABLE_NO_INTERROGATE

Путь к основному компилятору C++, который также является оболочным компилятором HDF5

HDF5_Fortran_COMPILER_EXECUTABLE_NO_INTERROGATE

Путь к основному компилятору Fortran, который также является оболочным компилятором HDF5

HDF5_DIFF_EXECUTABLE

Путь к инструменту сравнения наборов данных HDF5

При включении всех компонентов будут определены следующие цели:

HDF5::HDF5

Все обнаруженные HDF5_LIBRARIES.

hdf5::hdf5

Библиотека C.

hdf5::hdf5_cpp

Библиотека C++.

hdf5::hdf5_fortran

Библиотека Fortran.

hdf5::hdf5_hl

Высокоуровневая библиотека C.

hdf5::hdf5_hl_cpp

Высокоуровневая библиотека C++.

hdf5::hdf5_hl_fortran

Высокоуровневая библиотека Fortran.

hdf5::h5diff

Исполняемый файл h5diff.

Подсказки

Следующие переменные могут быть установлены для управления поиском библиотек и включаемых файлов HDF5:

HDF5_PREFER_PARALLEL

Новое в версии 3.4.

Установите true, чтобы предпочесть параллельный HDF5 (по умолчанию предпочтительно последовательный)

HDF5_FIND_DEBUG

Новое в версии 3.9.

Установите true, чтобы получить дополнительные сообщения отладки.

HDF5_NO_FIND_PACKAGE_CONFIG_FILE

Новое в версии 3.8.

Установите true, чтобы пропустить попытку поиска hdf5-config.cmake.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.29/module/FindHDF5.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API