У меня есть проект CMake, который ссылается на библиотеку hdf5.В моей системе у меня есть две версии hdf5: одна установлена с менеджером пакетов системы, а другая установлена с conda.Я хочу использовать версию conda для создания своего проекта.Для этого я использую CMake, чтобы найти библиотеку hdf5 с
find_package(HDF5 COMPONENTS CXX)
. Это определяет переменную HDF5_INCLUDE_DIRS, которая подходит для установки conda.Однако переменная HDF5_CXX_LIBRARIES запутывается и включает пути к обоим путям библиотеки.Также установка системы появляется первой.Поэтому, когда я проверяю переменные сборки с помощью ccmake, для HDF_CXX_LIBRARY_hdf5 устанавливается путь conda, а для HDF5_CXX_LIBRARY_hdf5_cpp - системный путь, и поэтому при сборке я получаю неопределенную ошибку ссылки.Изменение последней переменной с помощью ccmake решает проблему.Однако это неудовлетворительное решение.
Есть ли способ убедиться, что CMake использует только путь к библиотеке conda?