FindHDF5
Поиск формата данных HDF5 (Hierarchical Data Format), библиотеки для чтения и записи данных массивов с описанием.
Этот модуль вызывает HDF5 компилятор-оболочку, который должен быть установлен вместе с HDF5. В зависимости от HDF5 конфигурации, компилятор-оболочка вызывается либо h5cc, либо h5pcc. Если это успешно, модуль вызовет компилятор с аргументом show, чтобы увидеть, какие флаги используются при компиляции HDF5 клиентского приложения.
Модуль может необязательно принять аргумент COMPONENTS. Если не указаны COMPONENTS, то модуль поиска по умолчанию будет искать только библиотеку HDF5 C. Если указан один или несколько 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.
Рассматриваются как последовательные, так и параллельные HDF5 оболочки, и будет использоваться первый каталог, содержащий хотя бы одну из них. В случае, если обе оболочки появятся в одном каталоге, будет предпочтительно выбрана последовательная версия. Это поведение можно изменить, установив переменную HDF5_PREFER_PARALLEL в значение TRUE.
В дополнение к поиску заголовков и библиотек, необходимых для компиляции клиентского приложения HDF5, этот модуль также пытается найти инструменты, которые поставляются с HDF5 дистрибутивом, которые могут быть полезны для регрессионного тестирования.
Переменные результатов
Этот модуль установит следующие переменные в вашем проекте:
-
HDF5_FOUND -
HDF5 найден в системе
-
HDF5_VERSION -
Версия библиотеки 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 -
Необходимые определения компилятора для привязок HDF5 C
-
HDF5_CXX_DEFINITIONS -
Необходимые определения компилятора для привязок HDF5 C++
-
HDF5_Fortran_DEFINITIONS -
Необходимые определения компилятора для привязок HDF5 Fortran
-
HDF5_C_INCLUDE_DIRS -
Необходимые каталоги заголовков для привязок HDF5 C
-
HDF5_CXX_INCLUDE_DIRS -
Необходимые каталоги заголовков для привязок HDF5 C++
-
HDF5_Fortran_INCLUDE_DIRS -
Необходимые каталоги заголовков для привязок HDF5 Fortran
-
HDF5_C_LIBRARIES -
Необходимые библиотеки для привязок HDF5 C
-
HDF5_CXX_LIBRARIES -
Необходимые библиотеки для привязок HDF5 C++
-
HDF5_Fortran_LIBRARIES -
Необходимые библиотеки для привязок HDF5 Fortran
-
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::hdf5_hl_cpp`` ``hdf5::hdf5_fortran`` ``hdf5::hdf5_hl`` ``hdf5::hdf5_hl_cpp`` ``hdf5::hdf5_hl_fortran`` ``hdf5::h5diff``
Подсказки
Следующие переменные могут быть установлены для управления поиском библиотек и заголовков HDF5:
-
HDF5_PREFER_PARALLEL -
установить
trueдля предпочтительного использования параллельного HDF5 (по умолчанию предпочтительнее последовательный) -
HDF5_FIND_DEBUG -
Установите
trueдля получения дополнительного отладочного вывода. -
HDF5_NO_FIND_PACKAGE_CONFIG_FILE -
Установите
trueдля пропуска попыток найтиhdf5-config.cmake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/module/FindHDF5.html