我编写了一个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()
无关。