我编写了一个 CMake 模块,其中包含几个有用的宏,我想在许多其他 CMake 项目中使用它们。但是,我不确定将模块放在哪里。
我希望能够在每个使用宏的项目中执行此操作:
include(MyModule)
但是,我不确定是否有一种简单且跨平台的方法可以实现这一目标。事实上,我什至无法让它在 Unix 上运行。我将模块 ( MyModule.cmake
) 放在以下位置:
/usr/lib/cmake/
/usr/lib/cmake/Modules
/usr/local/lib/cmake
/usr/local/lib/cmake/Modules
...并且带有 的项目include()
无法加载模块。
这个模块的正确位置是什么?有更好的方法吗?
我还应该指出,宏与“查找”第三方库无关,因此与find_package()
.