我有一个链接到HDF5库CMake的项目。在我的系统有两个版本HDF5:一是用系统的包管理器安装和一个与畅达安装。我想用畅达版本来构建我的项目。要做到这一点我用CMake的寻找与HDF5库
find_package(HDF5 COMPONENTS CXX)
这定义了HDF5_INCLUDE_DIRS变量蛮好的畅达安装。然而,HDF5_CXX_LIBRARIES变量得到弄糟,包括路径都库路径。另外,系统的安装首先出现。所以,当我检查生成变量与ccmake的HDF_CXX_LIBRARY_hdf5 IST设置为畅达路径和HDF5_CXX_LIBRARY_hdf5_cpp被设置到系统路径,因此建筑时,我得到一个未定义的引用错误。改变与ccmake后者变量解决了这个问题。然而,这不是一个令人满意的解决方案。
有没有一种方法,以确保只有路径畅达库由CMake的?
我能够通过设置HDF5_ROOT到CONDA_ROOT来解决问题。这样的CMake会先看看在畅达根目录为HDF5并确定正确的版本。