为什么 CMake 不尊重 LIBRARY_PATH 和 CPATH

2023-12-09

我在使用模块的 HPC 系统上使用 CMake。这些模块通常设置LIBRARY_PATH and CPATH因此,人们可以简单地包含标头并链接到库,而无需额外的操作-L or -I.

但是,当使用 CMake 时,CMake 必须找到这些库。我希望,那LIBRARY_PATH and CPATH由 CMake 自动考虑并在例如中捕获CMAKE_SYSTEM_LIBRARY_PATH and CMAKE_SYSTEM_INCLUDE_PATH但他们不是。

这样做(不)有什么理由吗?

附加不是一个好主意(现在手动,稍后由 CMake 自动)LIBRARY_PATH to CMAKE_SYSTEM_LIBRARY_PATH and CPATH to CMAKE_SYSTEM_INCLUDE_PATH?


这样做(不)有什么理由吗?

附加不是一个好主意(现在手动,稍后由 CMake 自动)LIBRARY_PATH to CMAKE_SYSTEM_LIBRARY_PATH and CPATH to CMAKE_SYSTEM_INCLUDE_PATH?

还有另一种观点认为,让构建依赖于环境变量会导致构建不可靠。来自 GNU Make 手册:

makefile 的功能依赖于其控制范围之外的环境变量设置是不明智的,因为这会导致不同的用户从同一 makefile 中获得不同的结果。这违背了大多数 makefile 的全部目的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 CMake 不尊重 LIBRARY_PATH 和 CPATH 的相关文章

随机推荐