`/usr/bin/cmake -E cmake_depends "Unix Makefiles" <SOME_PATH>` 这段命令是什么意思?

3

有人能帮忙解释一下 /usr/bin/cmake -E cmake_depends "Unix Makefiles" <SOME_PATH> 是什么意思吗?我在 cmake.org 上找不到关于 cmake_depends 的说明...

先谢谢了。


-E 是命令行模式。但是没有 cmake_depends,所以我认为这是一个错误。你能提供一些上下文或来源吗?关于 -E 的文档:https://cmake.org/cmake/help/v3.5/manual/cmake.1.html#command-line-tool-mode - usr1234567
我在使用cmake编译Caffe时遇到了这行代码。在运行cmake后,这行代码出现在一些生成的文件中。这是它的链接:https://gist.github.com/EasonD3/2cf025def7ccb0125f8fecf4cb1ff866#file-build-make-L66。基于此,我想知道`cmake_depends`是否是`cmake`的某个选项... - mintaka
好的,这可能是未记录的,因为并不打算供用户使用。 - usr1234567
1个回答

3
由于文档中没有涵盖cmake_depends,因此我认为它是一个内部接口,不应由用户使用。如果您使用它,则在任何新版本中都可能会失败,而且没有任何警告或弃用期。
通过CMake的源代码搜索发现以下注释,这可能会对您有所帮助。
CMake/Source/cmMakefileTargetGenerator.cxx:
// Generate a call this signature:
//
//   cmake -E cmake_depends <generator>
//                          <home-src-dir> <start-src-dir>
//                          <home-out-dir> <start-out-dir>
//                          <dep-info> --color=$(COLOR)
//
// This gives the dependency scanner enough information to recreate

CMake/Source/cmcmd.cxx:

// Full signature:
//
//   -E cmake_depends <generator>
//                    <home-src-dir> <start-src-dir>
//                    <home-out-dir> <start-out-dir>
//                    <dep-info> [--color=$(COLOR)]
...
// Support older signature for existing makefiles:
//
//   -E cmake_depends <generator>
//                    <home-out-dir> <start-out-dir>
//                    <dep-info>
//
// Just pretend the source directories are the same as the
// binary directories so at least scanning will work.

感谢您的回答。在执行 cmake ..makemake install 后,cmake_depends 列出的路径是否会被永久添加到某些系统环境变量中?对于我的情况,在使用 cmake 构建 Caffe 后,我可以通过运行 find_package(Caffe) 成功地将 Caffe 导入到另一个项目中,而无需设置 Caffe_DIR。因此,我想知道 cmake -E cmake_depends 是否已经在某个地方永久设置了 Caffe 路径。 - mintaka
不,CMake不会添加任何路径变量。但是您的 make install 将库和头文件移动到默认情况下CMake将查找的位置。 - usr1234567

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接