FindHDF5
Find Hierarchical Data Format (HDF5), a library for reading and writing self describing array data.
This module invokes the HDF5 wrapper compiler that should be installed alongside HDF5. Depending upon the HDF5 Configuration, the wrapper compiler is called either h5cc or h5pcc. If this succeeds, the module will then call the compiler with the show argument to see what flags are used when compiling an HDF5 client application.
The module will optionally accept the COMPONENTS argument. If no COMPONENTS are specified, then the find module will default to finding only the HDF5 C library. If one or more COMPONENTS are specified, the module will attempt to find the language bindings for the specified components. The valid components are C, CXX, Fortran, HL. HL refers to the "high-level" HDF5 functions for C and Fortran. If the COMPONENTS argument is not given, the module will attempt to find only the C bindings. For example, to use Fortran HDF5 and HDF5-HL functions, do: find_package(HDF5 COMPONENTS Fortran HL).
This module will read the variable HDF5_USE_STATIC_LIBRARIES to determine whether or not to prefer a static link to a dynamic link for HDF5 and all of it's dependencies. To use this feature, make sure that the HDF5_USE_STATIC_LIBRARIES variable is set before the call to find_package.
Added in version 3.10: Support for HDF5_USE_STATIC_LIBRARIES on Windows.
Both the serial and parallel HDF5 wrappers are considered and the first directory to contain either one will be used. In the event that both appear in the same directory the serial version is preferentially selected. This behavior can be reversed by setting the variable HDF5_PREFER_PARALLEL to TRUE.
In addition to finding the includes and libraries required to compile an HDF5 client application, this module also makes an effort to find tools that come with the HDF5 distribution that may be useful for regression testing.
Переменные результатов
Этот модуль установит следующие переменные в вашем проекте:
-
HDF5_FOUND -
HDF5 был найден в системе
-
HDF5_VERSION -
Added in 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 -
Added in version 3.4.
Установите
true, чтобы предпочесть параллельный HDF5 (по умолчанию предпочтение отдается последовательному) -
HDF5_FIND_DEBUG -
Added in version 3.9.
Установите
true, чтобы получить дополнительный отладочный вывод. -
HDF5_NO_FIND_PACKAGE_CONFIG_FILE -
Added in version 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.31/module/FindHDF5.html