告诉 CMake 使用自定义 Find*.cmake 而不是系统范围的
Tell CMake to use custom Find*.cmake instead of system wide one
我想使用我从源代码编译并安装在文件夹中的 KWayland 库。我希望我的其他项目使用它。但是相反,它使用系统范围内安装的那个作为包管理器对 KDE 的依赖。
我尝试在 QtCreator 中将 CMAKE_PREFIX_PATH
设置为 /path/to/my/cmakefiles;/usr
并重新配置项目,但它仍然使用 /usr
.
中的那个
为示例包 ABC
设置 CMAKE_PREFIX_PATH
将查找 包配置文件 ,包 [=] 将具有以下形式之一13=]:
abc-config.cmake
ABCConfig.cmake
通过设置CMAKE_PREFIX_PATH
,它不会告诉CMake到别处寻找查找模块(例如:FindABC.cmake
)。
如果你安装了你的包ABC
(在你的例子中,KWayland),安装的包应该提供了一个你可以使用的包配置文件。所以将 CMAKE_PREFIX_PATH
变量指向这个文件:
CMAKE_PREFIX_PATH: /path/to/KWayland/package/config/files
如果没有提供包配置文件,您可以使用查找模块(FindABC.cmake
)代替将包导入到您的项目中。要告诉 CMake 在非默认位置查找模块,您需要更新 CMAKE_MODULE_PATH
变量:
CMAKE_MODULE_PATH: /path/to/my/cmakefiles
我想使用我从源代码编译并安装在文件夹中的 KWayland 库。我希望我的其他项目使用它。但是相反,它使用系统范围内安装的那个作为包管理器对 KDE 的依赖。
我尝试在 QtCreator 中将 CMAKE_PREFIX_PATH
设置为 /path/to/my/cmakefiles;/usr
并重新配置项目,但它仍然使用 /usr
.
为示例包 ABC
设置 CMAKE_PREFIX_PATH
将查找 包配置文件 ,包 [=] 将具有以下形式之一13=]:
abc-config.cmake
ABCConfig.cmake
通过设置CMAKE_PREFIX_PATH
,它不会告诉CMake到别处寻找查找模块(例如:FindABC.cmake
)。
如果你安装了你的包ABC
(在你的例子中,KWayland),安装的包应该提供了一个你可以使用的包配置文件。所以将 CMAKE_PREFIX_PATH
变量指向这个文件:
CMAKE_PREFIX_PATH: /path/to/KWayland/package/config/files
如果没有提供包配置文件,您可以使用查找模块(FindABC.cmake
)代替将包导入到您的项目中。要告诉 CMake 在非默认位置查找模块,您需要更新 CMAKE_MODULE_PATH
变量:
CMAKE_MODULE_PATH: /path/to/my/cmakefiles