CMake设置默认搜索路径?

标签 cmake

我只是不想在每次需要库时都设置环境变量,让搜索的路径根本没有标准化(至少在 Windows 上)。通常 Find*.cmake 不会指定任何与 windows 关联的位置。

是否有某种方法可以使 CMake 搜索指定目录(强制配置错误的 Find*.cmake 搜索路径,否则它们不会在系统级别设置)?假设我希望它在 Windows 上搜索“C:\”或仅搜索“/”?这样我就可以把我所有的库放在“C:\”中。

最佳答案

您可以尝试将路径附加到 CMAKE_PREFIX_PATH在您的项目 CMakeLists.txt 中,如下所示:

list(APPEND CMAKE_PREFIX_PATH "/tmp/test" "/another/library/path")

根据文档,它会将“/lib”附加到列表中每个路径的末尾并在那里搜索库,但是通过一些快速测试,如果它直接在路径中,似乎 cmake 应该可以找到一切你指定。例如,如果我有 /tmp/test/libtest.so 并添加上面的行,我可以这样找到它:

find_library(libtest_LIBRARY test)

运行 cmake 应该将缓存变量 libtest_LIBRARY 设置为正确的路径。

关于CMake设置默认搜索路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25395880/

相关文章:

android - Gradle + Cmake 在连接路径时添加意外的引号

c - 如何在 Linux 上构建 GLFW3 项目?

cmake - 如何在 SCons 中包含外部包

c++ - Cmake 找到 hdf5 但尝试链接到 Windows 上的 dll

c++ - 在tsan_libdispatch_mac.cc期间,使用cmake进行的LLVM构建失败。 “Error: conflicting types for …”

cmake - 将列表传递给 CMake 宏

c++ - 在 CMake 中混合 C 和 C++,什么是 CMakeCCompilerId.c 以及如何丢弃它

c++ - 使用 Makefile 和 CMake 编译代码有什么区别?

c++ - 读取文件时cmake设置路径

cmake无法构建简单的项目