我正在使用CMake来配置一个包含HDF5支持的项目。我可以使用find_package(HDF5 ...)
检测是否安装了HDF5。根据CMake manual entry,find_package
调用将设置更多的变量,例如HDF5_IS_PARALLEL
。
但是,在构建HDF5时,可以设置更多的构建选项。对于我的项目,我需要有一个HDF5安装与HDF5_ENABLE_DIRECT_VFD
和HDF5_ENABLE_THREADSAFE
选项启用。尝试在没有这些选项的情况下使用HDF5安装运行我的项目将无法编译或产生各种运行时错误。
如何在项目的CMake配置期间检测这些选项是否存在于HDF5安装中?
1条答案
按热度按时间w1jd8yoj1#
我发现了一个可行的方法:HDF5配置存储在库路径中的文件
libhdf5.settings
中。CMake能够读取和解析这个文件。但是,我没有找到一种可靠的方法来获得正确的路径。尽管如此,对于默认的安装目录,这个代码片段仍然能够解析选项: