提示查找 .cmake文件与自定义目录 提示查找 .cmake文件与自定义目录(Hinti

2019-06-17 09:59发布

在CMake的,有没有一种方法,使内置的查找脚本优先,我们指定自定义目录? 因为尤其是在窗口,模块找到脚本通常不能检测模块,例如Visual Studio的目录。 因此,我通常必须手动设置,这是非常劳累的外部库的路径。 相反,我想这些脚本在自定义目录看,让我们说“依赖”的主要项目文件夹第一,这样我可以直接把这些外部组件文件夹是不是把他们变成了VC文件夹或手动设置更容易在路径。

Answer 1:

设置CMAKE_PREFIX_PATH变量提供准确,这些用途:用于暗示find_*有关搜索项的定位功能。

虽然这个变量的描述并不注意有关find_package函数,变量就可以了间接的影响:最的Find<name>.cmake脚本使用find_library和find_path功能。 请注意,所有find_*功能,拥有搜索条目的精确算法 ,并与构建路径CMAKE_PREFIX_PATH之前系统的人进行检查。

此外, CMAKE_PREFIX_PATH会影响其它一些搜索程序。 例如,如果3D方包提供<name>Config.cmake脚本,而不是Find<name>.cmake一个,这个脚本也搜索在使用这个变量。 pkg_check_modules还采用CMAKE_PREFIX_PATH搜索.pc文件,描述的包。

CMAKE_PREFIX_PATH变量可以设置为一个环境(在平台依赖和用途专有的方式),作为参数传递给cmake电话:

cmake -DCMAKE_PREFIX_PATH=<additional-path> <other-parameters>

或内CMakeLists.txt文件。 在后一种情况下,最好是附加搜索目录,所以你包的用户可以设置变量太不随您的项目搜索包:

list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/dependencies")


文章来源: Hinting Find.cmake Files with a custom directory
标签: cmake