FindHDF5
Найти формат данных HDF5 (Hierarchical Data Format), библиотеку для чтения и записи данных массивов с самоопределяемой структурой.
Этот модуль вызывает оболочный компилятор HDF5, который должен быть установлен вместе с HDF5. В зависимости от конфигурации HDF5, оболочный компилятор вызывается либо h5cc, либо h5pcc. Если это успешно, модуль затем вызовет компилятор с аргументом show, чтобы увидеть, какие флаги используются при компиляции приложения-клиента HDF5.
Модуль необязательно принимает аргумент COMPONENTS. Если не указаны COMPONENTS, то модуль поиска по умолчанию будет искать только библиотеку 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 -
Необходимые определения компилятора для привязок 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_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/latest/module/FindHDF5.html