cmake命令行的含义是什么

What is the meaning of cmake command lines

我正在尝试按照一些在线说明构建软件。

cd app
mkdir -p build/Release
cd build/Release
cmake ../..
make installpyplusplus && cmake .
make .

我的问题:

  1. cmake 之后的“../..”是什么意思?
  2. make后面的点有什么意义?
  3. 'make installpyplusplus && cmake .' 会发生什么?

cmake 应用程序专门查找一个名为 CMakeLists.txt 的文件。 所以通过 运行ning:

cmake ../..

就像对cmakeCMakeLists.txt是下面两个目录,就像MERose描述的那样。

cmake 命令在您当前的工作目录(CWD,您 运行 从中执行命令的目录)创建许多文件,其中有一个名为 Makefile 的文件,它有关于 compile/build/copy/write/whatever 哪些文件以及如何做的规则。

所以当你 运行:

make .

您告诉 make 应用程序 Makefile 文件在您的 CWD 中。与 运行ning:

相同
make

在您的 CWD 中查找 Makefile 文件。

总结一下,.是CWD,..是下一级。

EX:如果您的 CWD 是 /Users/yourname/

  • .表示/Users/yourname/
  • ..表示/Users/
  • ../.代表/Users/
  • ../..表示/

等等...

what will 'make installpyplusplus && cmake .' ?

当您使用 && 时,如果第一个命令 returns 为真(退出状态为零),则命令将按顺序执行。所以,在你说的情况下,make installpyplusplus会变成运行,搞定之后(可以创建一个CMakeLists.txt,不知道你是什么运行ning ),如果 returns 为真,命令 cmake . 将是 运行,如果 CMakeLists.txt 存在,它将正确地 运行。

奖金:

如果你运行:

make -j4

您将把构建过程分成 4 个实例(您可以根据需要更改 4)!如果您有多个可用的处理器内核,多线程魔法将使它的构建速度更快:)