CMake“ --target install”,不带“ --build”命令行

时间:2018-10-25 15:35:27

标签: c++ makefile cmake

对于您中的某些人来说,这可能是一个愚蠢的问题,但是在使用VS生成器时,可以不必指定--target install来调用cmake --build命令选项吗?

我正在做一个图书馆项目,有时候我不想总是指定build,即:

cmake --build . --target install

我想cmake强迫我们这样做以避免错误,但是如果我的项目已经构建并且我不希望cmake重新检查我的项目构建并只是安装怎么办?就像我们可以使用jom installnmake install等。
这是行不通的:

cmake --target install

cmake . --target install

预先感谢您的回答! :)

2 个答案:

答案 0 :(得分:3)

对于cmake,版本> = 3.15,您现在可以使用--install标志来执行所需的操作。 该标志必须为第一个,请参阅相关的cmake doc。 在UNIX和Windows(也与VS生成器)上,它像一个超级按钮一样工作。 在您的情况下,应该是:

cmake --install .

注意:我遇到了一个(可能)向后兼容的问题,在Windows上构建和安装VTK-7.1.1时,我没有作进一步调查:插件处理不正确。 我不知道它是否特定于VTK的cmake实现。

答案 1 :(得分:1)

安装目标对“全部构建”目标的依赖性由cmake变量CMAKE_SKIP_INSTALL_ALL_DEPENDENCY的设置控制。

如果使用的是基于Makefile的生成器,则CMake还会生成一个特殊的安装目标“ install / fast”,该目标在安装之前不会生成。可以通过以下方式调用它:

cmake --build . --target install/fast