通过查看GLM 0.9.7的最新版本,我在任何地方都看不到FindGLM.cmake文件,过去常常在CMAKE中包含GLM.我总是可以使用在网上找到它的旧版本,但下面的提交让我难过:
https://github.com/g-truc/glm/commit/62a7daddcf082f754000fc5e42d7bcdf93c895f7
提交消息是"删除过时的FindGLM".那么,开发人员只是转储它还是实际上有一种在CMAKE中查找库的新方法?
是的,FindXyz.cmake
不推荐使用CMake Find模块(文件),而使用Package Config文件(通常命名XyzConfig.cmake
).最初的理念是,查找模块由CMake提供和维护,而Package Config文件由它们要查找的软件包提供和维护.
CMake的find_package
命令实际上有两种模式:模块模式(传统,使用查找模块)和配置模式(首选,使用包配置文件).
对于使用该软件包的客户端,几乎不应该更改(除非需要更多自定义,这是由Config模式提供的find_package
).
请注意,您链接的提交不仅会丢弃FindGLM.cmake
,还会添加glmConfig.cmake
文件.