找出CMake搜索的位置(及其原因)

时间:2017-07-18 15:12:45

标签: cmake

假设我在CMake文件中写这个:

find_path(ISL_INCLUDE_DIR NAMES isl)

如何找到CMake搜索的位置以查找名为isl的库,以及为什么搜索这些路径?

非解决方案:

  1. strace -e file -f cmake。这肯定告诉我CMake在哪里进行探测(以及许多不相关的额外信息),但它没有告诉我为什么CMake决定查看特定目录。

  2. 阅读find_path documentation。这有点好一些:结合ccmake,我可以形成关于被探测内容的假设,然后检查并查看变量是否排列。但这还不够,原因如下:(1)我注意到CMake将搜索与 CMake安装本身相关的include / library目录(例如,如果我使用的话) conda要安装CMake,conda分发的CMake会自动选择conda includes / libraries)。我没有在文档中看到任何表明应该发生的事情。 (2)CMake只会提供有关持久变量的信息,而不是像CMAKE_PREFIX_PATH那样对分辨率非常重要的瞬态信息。

  3. 使用--debug-output--trace。这些似乎提供了太多信息,我不知道该寻找什么。
  4. 我想要的是让CMake在执行find_path时告诉我正在查看的每个目录的方法,为什么它正在考虑该目录,以及它最终决定适合哪个目录。这有可能吗?

0 个答案:

没有答案