cmake命令行的含义是什么?

时间:2015-04-22 09:00:04

标签: unix directory cmake makefile

我正在尝试按照一些说明建立一个软件。

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

我的问题:

  1. " ../.."在cmake做或意味着什么?
  2. make之后点的重要性是什么?
  3. make installpyplusplus&& cmake。' ?

1 个答案:

答案 0 :(得分:6)

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

cmake ../..

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

cmake命令在当前工作目录(CWD,您运行命令的目录)中创建了许多文件,其中包含一个名为Makefile的文件,其中包含有关哪些文件的规则编译/构建/复制/写/无论以及如何做。

所以当你跑:

make .

您告诉make应用程序Makefile文件位于您的CWD。它与运行相同:

make

在CWD中查找Makefile文件。

结论,.是CWD,..是以下一级。

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

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

等等......

  

什么将使makepyplusplus&& cmake。' ?

使用&&时,如果第一个命令返回true(退出状态为零),命令将按顺序执行。所以,在你说的情况下,make installpyplusplus将被运行,并且在它完成之后(它可以创建CMakeLists.txt,我不知道你在运行什么),如果它返回true,那么命令<{1}}将会运行,如果cmake .存在,它将正常运行。

<强>奖金:

如果你跑:

CMakeLists.txt

您将在4个实例中分离构建过程(您可以根据需要更改4)!如果您有多个处理器核心,多线程魔法将使其更快地构建:)