我正在尝试按照一些说明来构建软件。
cd app
mkdir -p build/Release
cd build/Release
cmake ../..
make installpyplusplus && cmake .
make .
我的问题:
cmake
含义是什么?make
?该cmake
应用程序会查找一个特殊的文件,名为CMakeLists.txt
。因此,通过运行:
cmake ../..
这就像说给cmake
了CMakeLists.txt
低于两个目录,就像MERose描述。
该cmake
命令在您当前的工作目录(CWD,您从中运行命令的目录)中创建许多文件Makefile
,其中有一个名为的文件,该文件具有有关要编译/构建/复制/写入/执行哪些文件以及如何执行操作的规则它。
因此,当您运行时:
make .
您正在告诉make
应用程序该Makefile
文件位于您的CWD。它与运行相同:
make
那将Makefile
在您的CWD中查找文件。
最后.
是CWD,..
是下一级。
例如:如果您的CWD是 /Users/yourname/
.
代表 /Users/yourname/
..
代表 /Users/
../.
代表 /Users/
../..
代表 /
等等...
什么会“使installpyplusplus && cmake”。?
使用&&
第一个命令返回true(退出状态为零)时,将按顺序执行命令。因此,就您所说的情况而言,make installpyplusplus
它将运行,并在完成后(可以创建一个CMakeLists.txt
,我不知道您在运行什么),如果返回true,cmake .
则将运行该命令,如果CMakeLists.txt
存在,它会正常运行。
奖金:
如果您运行:
make -j4
您将在4个实例中分离构建过程(您可以根据需要更改4个实例)!如果您拥有多个处理器核心,多线程魔术将使其构建更快:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句